git cherry-pick和git show之间有什么区别?补丁-p1?

0x6*_*015 12 git cherry-pick

我遇到了git cherry-pick X会有一些冲突的情况,但也创建了额外的插入(经过验证git diff).

然后我重新跑了git show X > my.patch,然后patch -p1 < my.patch在我的树上做了.我得到了更好的结果,一些冲突,但结果更清晰.

git对樱桃挑选有什么特别之处?我使用git 1.7.0.4.

编辑: 通过更清晰的结果,我的意思是结果树匹配了更多的结果git show X,而git cherry-pick包括更多的代码.

Cas*_*bel 8

当你挑选一个提交时,它使用提交的所有元数据提交结果,而不仅仅是它代表的diff - 你将获得原始提交消息和作者.你的补丁管道将为你提供你想要的工作树内容,但是你必须自己提交它,希望git commit -c <original-commit>复制像cherry-pick那样的元数据.Cherry-pick还有一些可能有用的附加选项,并且可以接受多次提交(可能指定为rev-list范围).patch显然不支持任何这一点.

我不确定你断言结果是"更干净".你是否建议git以不同的方式应用差异patch