我仍然是git的新手,我遇到了这个cherry-pick命令。设为I从devel分支中选择一个提交(我们称之为CA)到master分支,现在它们都有不同的sha1 id,如果我的解释是正确的。
所以我的问题是,如果以后我想检查和之间的"差异"分支和master分支使用git cherry
查找哪些提交是最终推送到主,但它没有,但由于提交(CA) Icherry-pick会有一个不同的SHA1 id所以当我执行git
cherry master devel
时它告诉我什么?它是否告诉我CA被推到了少爷?或者它告诉我CA没有被推送到主,因为它们没有共享相同的SHA1 ID? git cherry
使用git patch-id
比较提交。引入相同更改的两次提交将具有相同的补丁ID,并且git cherry
将通过在提交前添加连字符/减号(-)来表示该更改已经存在于上游。
因此,在您的示例中,git cherry master devel
将输出您精心挑选的提交,前缀为连字符/减号(-),表明它引入的更改已经存在于master中。如果提交的更改在master中不存在,则需要在提交前加上一个加号(+)。
这在man git-cherry中有解释。