我正在使用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.
不确定如何解释错误消息或弄清楚修复的内容。有什么想法吗?
答案 0 :(得分:1)
是的,传递给git cherry-pick的提交顺序确实很重要。
考虑您的第一次提交A
引入了一个新行,并且下一次提交B
修改了同一行。如果以错误的顺序选择提交,那么提交B
没有任何补丁,即使它没有失败,然后提交A
会添加未修补的行,可能不会你想要什么,对吗?
关于合并提交,如果它引入了更改,那么它也必须包括在内。
此外,通常您不会向git cherry-pick
传递一长串提交,您可以使用修订范围语法来指定一系列提交,请参阅示例手册中的部分:https://git-scm.com/docs/git-cherry-pick