我已经读过,有
$ git checkout B
$ git cherry -v A
但是这对我没有任何帮助,我想这(以及其他一些类似的命令,我认为git log B ^A
确实会输出一些差异,但是以某种方式并未显示所有不同的提交)仅适用于B的情况是A的远程跟踪分支。
但是我想比较两个本地分支的提交,所以我该怎么做?
更新:更详细些,我尝试过
git log B..A
和
git log B ^A
但是来自A的HEAD
没有出现,尽管它不在B上。
编辑:不确定,如果我以错误的方式执行了git cherry
,则可能是我犯了一个错误,因此它应该可以正常工作
如果要显示所有可从A到达的提交,但不包括那些可从B到达的提交:
git log A ^B # read: A, but *not* B
或更符合git log的一般用法:
git log B..A # read: show history from B to A
两个命令的行为是相同的(两个refspecs描述相同的提交)
Ciao,
让我们假设要运行:
git branch
并获得branchA
和branchB
我们可以将它们与:
git diff branchA..branchB
顺序不是很重要,如果您反转branchB和branchA,则加号变为减号,反之亦然。通常,较老的分支优先,但这只是一个约定]
git diff --color-words branchA..branchB
使用此命令,您只能对上一个命令获得的结果有不同的看法
您甚至可以通过以下方式进行比较,以选择branchB中最后一次提交的祖先:
git diff branchA..branchB^ git diff branchA..branchB^^
希望有帮助,安东尼诺