当我执行 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
Run Code Online (Sandbox Code Playgroud)
rob*_*ins 14
我在git revert用于恢复合并时遇到了同样的错误(结果证明是错误的功能分支)。这-m有点令人困惑。它不是在寻找消息。我认为它只是想知道您要还原的给定提交有多远(要还原多少个提交)
大多数时候它只是 1。也就是说,您只想在合并之前返回提交(我提供的提交哈希)。所以解决办法是:
git revert -m 1 <git_hash_for_merge>
Run Code Online (Sandbox Code Playgroud)
我认为帮助/手册页非常清楚地解释了为什么您需要 -m 参数,并且错误消息非常清楚地表明您需要它:
-mparent-number, --mainlineparent-number 通常您不能挑选合并,因为您不知道合并的哪一侧应被视为主线。该选项指定主线的父编号(从 1 开始),并允许cherry-pick 重播相对于指定父线的更改。
| 归档时间: |
|
| 查看次数: |
10128 次 |
| 最近记录: |