我已经读过了
$ 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
做错了,我很可能犯了一个错误,所以它实际上应该能工作
2条答案
按热度按时间g0czyy6m1#
如果您想显示所有可从A访问的提交,但排除那些可从B访问的提交:
或者,更符合git log的一般用法:
两个命令的行为相同(两个参考规范描述相同的提交)
wgx48brx2#
让我们假设运行:
得到
branchA
和branchB
我们可以将它们与以下各项进行比较:
顺序其实并不重要,如果你把branchB和branchA颠倒过来,加号就变成减号,反之亦然。一般来说,老的分支先走,但这只是一个惯例
使用此命令,您将获得与使用前一个命令获得的结果不同的视图
您甚至可以通过以下方式进行比较,以选择branchB中最后一次提交的祖先: