显示本地分支 B 没有的本地分支 A 上的提交
Show commits on local branch A that local branch B has not
我已经读到有
$ 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日志的一般用法:
git log B..A # read: show history from B to A
两个命令的行为相同(两个 refspecs 描述相同的提交)
再见,
让我们假设 运行:
git branch
并得到branchA
和branchB
我们可以将它们与:
进行比较
git diff branchA..branchB
顺序并不重要,如果您反转 branchB 和 branchA,则加号变为减号,反之亦然。通常较旧的分支在前,但这只是约定
git diff --color-words branchA..branchB
使用此命令,您对使用前一个命令获得的结果会有不同的看法
您甚至可以通过以下方式与 select 分支 B 中最后一次提交的祖先进行比较:
git diff branchA..branchB^
git diff branchA..branchB^^
希望对您有所帮助,
安东尼奥
我已经读到有
$ 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日志的一般用法:
git log B..A # read: show history from B to A
两个命令的行为相同(两个 refspecs 描述相同的提交)
再见,
让我们假设 运行:
git branch
并得到branchA
和branchB
我们可以将它们与:
进行比较git diff branchA..branchB
顺序并不重要,如果您反转 branchB 和 branchA,则加号变为减号,反之亦然。通常较旧的分支在前,但这只是约定
git diff --color-words branchA..branchB
使用此命令,您对使用前一个命令获得的结果会有不同的看法
您甚至可以通过以下方式与 select 分支 B 中最后一次提交的祖先进行比较:
git diff branchA..branchB^
git diff branchA..branchB^^
希望对您有所帮助,
安东尼奥