【发布时间】:2020-03-01 07:50:45
【问题描述】:
我已经读过有
$ 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,我可能犯了一个错误,所以它应该真的有效
【问题讨论】:
-
git cherry专门用于处理通过git cherry-pick复制或未复制的提交。鉴于您的主题行中的简单问题,git log B..A是 您想要的。如果这不是您想要的,您可能需要阅读 Git 的提交图是如何工作的。注意git log B ^A表示git log A..B;git log B..A可以拼写为git log A ^B。两个点前面的那个取反;最后一个是积极的参考。 -
如果您对感兴趣的提交被或可能已经被复制到不同的提交,具有不同的哈希ID,但具有相同的效果 i> 作为他们的源提交,那么
git cherry-pick是一个有用的工具。要正确描述它,您需要知道提交图是如何工作的。 (你会发现这是 Git 中的一个主题:要使用它,你需要了解图表。) -
更多关于图表如何工作的信息——所有这些东西的基本构建块,也包括
git merge——请参阅Think Like (a) Git。
标签: git branch commit difference