[英]git: can I checkout a hotfix branch in a dev environment(with an unmerged dev branch) or will that cross branches?
[英]Git display diff of all unmerged changes in branch
我想刪除我在本地擁有的一些舊分支,但在我確定這些分支中的更改不是我想要保留的更改之前。
如果我錯了,請糾正我,但我認為這樣做的一個好方法是檢查它是否包含尚未添加到 master 分支的任何內容。 所以我想顯示這些更改。
請注意,我不想僅僅做
git diff master..old_branch
因為我會得到很多噪音,包括從那時起添加到 master 的所有更改。
我也不認為我想要
git diff master...old_branch
因為,據我所知,它只顯示從 master 派生后添加到 old_branch 的提交,但不檢查這些提交是否已添加(例如,櫻桃挑選)到 master 以后。
我怎么做 ?
編輯:讓我試着重新表述我的問題,因為似乎有些混亂。 我不僅想查看提交差異,還想查看自 old_branch 從 master 創建以來添加的所有行,但不顯示此后添加到 master 分支上的行。
例如:
在這種情況下,我想顯示 'ef',因為 'def' 是由 old_branch 添加的,但 'd' 也被添加到主分支中,而 'g' 僅由主分支添加,因此更改在 old_branch 中且未合並到 master 中的是“ef”。
編輯2:換個角度來看:
讓我們將master
和old_branch
分歧的提交命名為D
(即它們的共同根,或者即創建old_branch
地方)
然后我想要diff(old_branch, D) - diff(master, D)
這意味着我想要old_branch
和D
之間的所有差異,但我想忽略從old_branch
到D
所有變化,如果它們也從master
到D
不同。
謝謝
如果您想查看當前不在master
中的分支old_branch
中的任何更改,您的第一個命令幾乎是正確的:
git diff old_branch..master
請注意兩個點與三個點。 還要注意old_branch
在語句中old_branch
在第一位。 如果您顛倒順序,您將獲得master
而不是old_branch
中更改的反向差異。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.