错误:提交是合并但没有给出-m选项

时间:2017-01-25 01:52:39

标签: git

当我做git cherry-pick时,我收到了这个错误,我该怎么解决?

$ git cherry-pick  XXXXXXXXXXXXX                                                                                                                                          
error: commit XXXXXXXXXXXXX is a merge but no -m option was given.
fatal: cherry-pick failed
$ git cherry-pick
    -m, --mainline <n>    parent number
$ git cherry-pick -m 1234 XXXXXXXXXXXXX
$ error: commit XXXXXXXXXXXXX does not have parent 1234
fatal: cherry-pick failed

2 个答案:

答案 0 :(得分:8)

使用initial.js还原合并时,我也遇到了同样的错误(功能分支很糟糕)。 git revert有点令人困惑。它不寻找消息。我认为它只是想知道您要还原的给定提交有多远(要还原多少个提交)

大多数时候只有1。您只想在合并之前返回到提交(我提供的提交哈希)。因此解决方案是:

-m

答案 1 :(得分:1)

我认为帮助/手册页非常清楚地解释了为什么需要-m参数,并且错误消息非常清楚地指明您需要它:

  

-m parent-number, - mainline parent-number          通常你不能挑选合并,因为你不知道          合并的哪一方应被视为主线。这个          选项指定的父编号(从1开始)          主线并允许樱桃选择重播相对于的变化          指定的父母。