由于合并冲突,git cherry-pick失败了

时间:2017-12-05 02:04:33

标签: git github

我正在使用git cherry-pick将特定提交SHA添加到特定分支:

git cherry-pick 12345
error: commit 12345 is a merge but no -m option was given.
fatal: cherry-pick failed

(假装12345是提交SHA。)

我尝试了其他几种变体,但都失败了:

git cherry-pick 12345 -m
git cherry-pick -m 12345
etc.

不确定如何解释错误消息或弄清楚修复的内容。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

是的,传递给git cherry-pick的提交顺序确实很重要。

考虑您的第一次提交A引入了一个新行,并且下一次提交B修改了同一行。如果以错误的顺序选择提交,那么提交B没有任何补丁,即使它没有失败,然后提交A会添加未修补的行,可能不会你想要什么,对吗?

关于合并提交,如果它引入了更改,那么它也必须包括在内。

此外,通常您不会向git cherry-pick传递一长串提交,您可以使用修订范围语法来指定一系列提交,请参阅示例手册中的部分:https://git-scm.com/docs/git-cherry-pick