我们有这个git日志:
D:\blah>git log -n 5 --oneline
fc19dec My change #2
68fa9db Merge branch
4bc1ac7 My change #1
ec345d9 [maven-release-plugin] prepare for next development iteration
我想恢复为ec345d9,但收到错误:
D:\blah>git revert --no-commit ec345d9..HEAD
error: a cherry-pick or revert is already in progress
hint: try "git cherry-pick (--continue | --quit | --abort)"
fatal: revert failed
我怎样才能恢复?
我知道issue还原了一个合并并需要指定-m选项。当我在过去使用它时,我只是恢复单个合并提交。但在这种情况下,合并提交夹在我试图恢复的其他两个提交之间。
答案 0 :(得分:2)
首先,当您指定-m 1
(或其他主线号码)选项时,请确保您的合并不包含其下方提交的更改。
(好吧,首先首先,完成或中止樱桃选择或恢复你现在的中间。然后检查合并是否包含其中一个提交的更改。)
既然您确定哪些提交要还原,哪些提交需要-m
选项,哪些要求不使用-m
选项,请执行以下操作:一段时间,最近的第一次:
git revert fc19dec
git revert -m 1 68fa9db
git revert 4bc1ac7
例如。请注意,这会产生三个单独的新提交,每个提交执行一次还原。 (这也是你使用..
表示法得到的结果。)如果你想获得一个大的还原提交,每次都使用git revert -n
,并在完成后单独提交最终结果。