git cherry-pick SHA1 ID

时间:2013-03-17 15:01:07

标签: git git-branch git-cherry-pick

我还是git的新手,我遇到了这个樱桃挑选命令。让我们说 cherry-pick a commit(让我们称之为CA)从 devel 分支到 master 如果我解释的是正确的,它们现在都有不同的sha1 id。

所以我的问题是,如果以后我想检查 devel 之间的“差异” 使用git cherry分支和分支来查找哪些提交 最终推送到,但没有,但自提交(CA)我 刚刚采摘的樱桃会有一个不同的SHA1 ID,所以当我执行git cherry master devel它告诉我什么?它告诉我CA被推到了 ?或者它是否告诉我CA未被推送到,因为他们没有 共享相同的SHA1 ID?

1 个答案:

答案 0 :(得分:1)

git cherry使用git patch-id来比较提交。引入相同更改的两个提交将具有相同的修补程序ID,并且git cherry将通过在提交前添加连字符/减号( - )来表示更改已存在于上游。

因此,在您的情况下,git cherry master devel将输出您使用连字符/减号( - )前缀的提交,表示它引入的更改已存在于master中。提交引入master中不存在的更改将带有加号(+)前缀。

man git-cherry中解释了这一点。