仅比较 Git 中合并分支中的本地更改
Diff only local changes in a merged branch in Git
使用 Git,我从 "trunk" 分支到分支 "A",然后提交了一些更改。然后,我从 "trunk" 合并,因为它与分支 "B" 合并,我必须与这些更改同步。然后我在分支 "A".
上做了额外的更改
这是树的示意图:
branch A: T1--A1--A2--M--A3--*
/ /
trunk: T1----------T2
\ /
branch B: T1--B1--B2
现在,我只想比较分支 "A" 中的局部差异,但是如果我在最初分支的提交和当前工作树之间进行比较,我还会看到从分支合并的更改 "B".
那么,在合并的分支中,我如何才能只看到在该分支中所做的更改而不包括合并?
您可以使用 --author
标志来过滤您的更改:
$ git log branchpoint..HEAD --author=lorenzo
编辑:
要查看这些更改的内容,您可以使用 git show:
$ git show branchpoint..HEAD --author=lorenzo
您可以尝试按照 this 的解释从差异中排除 merge B
提交。
解决方案实际上很简单:仅 git diff
工作树针对已合并分支的提交。在我的示例中,这意味着 git diff T2
.
使用 Git,我从 "trunk" 分支到分支 "A",然后提交了一些更改。然后,我从 "trunk" 合并,因为它与分支 "B" 合并,我必须与这些更改同步。然后我在分支 "A".
上做了额外的更改这是树的示意图:
branch A: T1--A1--A2--M--A3--*
/ /
trunk: T1----------T2
\ /
branch B: T1--B1--B2
现在,我只想比较分支 "A" 中的局部差异,但是如果我在最初分支的提交和当前工作树之间进行比较,我还会看到从分支合并的更改 "B".
那么,在合并的分支中,我如何才能只看到在该分支中所做的更改而不包括合并?
您可以使用 --author
标志来过滤您的更改:
$ git log branchpoint..HEAD --author=lorenzo
编辑:
要查看这些更改的内容,您可以使用 git show:
$ git show branchpoint..HEAD --author=lorenzo
您可以尝试按照 this 的解释从差异中排除 merge B
提交。
解决方案实际上很简单:仅 git diff
工作树针对已合并分支的提交。在我的示例中,这意味着 git diff T2
.