首页 > 解决方案 > 在本地分支 A 上显示本地分支 B 没有的提交

问题描述

我已经读过有

$ git checkout B
$ git cherry -v A

但这对我没有任何影响,我认为这个(以及其他一些类似的命令,我认为git log B ^A,它确实输出了一些差异,但不知何故没有显示所有不同的提交)仅适用于 B 作为远程跟踪分支的情况A的

但是我想比较两个本地分支的提交,那么我该怎么做呢?

更新:为了更详细,我试过了

git log B..A

git log B ^A

但是HEAD来自 A 没有出现,虽然它不在 B 上。

编辑:不知道了,如果我git cherry做错了,我可能犯了一个错误,所以它应该真的有效

标签: gitbranchcommitdifference

解决方案


如果要显示从 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 描述了相同的提交)


推荐阅读