当我做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
答案 0 :(得分:8)
使用initial.js
还原合并时,我也遇到了同样的错误(功能分支很糟糕)。 git revert
有点令人困惑。它不寻找消息。我认为它只是想知道您要还原的给定提交有多远(要还原多少个提交)
大多数时候只有1。您只想在合并之前返回到提交(我提供的提交哈希)。因此解决方案是:
-m
答案 1 :(得分:1)
我认为帮助/手册页非常清楚地解释了为什么需要-m参数,并且错误消息非常清楚地指明您需要它:
-m parent-number, - mainline parent-number 通常你不能挑选合并,因为你不知道 合并的哪一方应被视为主线。这个 选项指定的父编号(从1开始) 主线并允许樱桃选择重播相对于的变化 指定的父母。