我遇到了这样的情况:使用git cherry-pick X
命令时,有一些代码会有冲突,但也会创建额外的插入(通过git diff
验证)。
然后我重新运行了命令git show X > my.patch
, 然后在我的代码库上使用命令patch -p1 < my.patch
。这次我得到了更好的结果,虽然还是有一些冲突,但是结果更加清晰简洁。
为什么使用git cherry-pick会产生这种特殊的情况呢?我使用的是git 1.7.0.4版本。
编辑:当我说“更加清晰简洁”的时候,我指的是由git show X
生成的代码与最终结果更加匹配,而git cherry-pick
生成的代码则包含了更多的内容。
git show
会向您展示差异,而您的树是完整的内容。比较git show X
和git show X'
更有意义,其中X'
是挑选的版本。X'
在其差异中包含更多的代码吗? - Cascabel