Git还原然后合并获得'还原已经在进行中'错误

时间:2016-04-11 14:27:15

标签: git merge git-revert

提交D& E被错误地而不是YYY检入分支XXX。我们试图不使用git reset来解决此问题。

所以我们有:

  • XXX:A - > B - > C - > D - > E
  • YYY:A - > B - > ç

我们恢复了在分支XXX上提交C

git checkout XXX
git revert --no-commit C..HEAD
git commit 
git push

这会让你

  • XXX:A - > B - > C - > D - > E - > F(F是还原)
  • YYY:A - > B - > ç

然后我们合并到分支YYY,我们想要重新建立E作为头部(不使用重置)。

git checkout YYY
git merge origin/XXX   

现在我们有:

  • XXX:A - > B - > C - > D - > E - > ˚F
  • YYY:A - > B - > C - > D - > E - > ˚F

然后我们尝试将YYY重置为E

git revert --no-commit E..HEAD

但是还原提交会给你带来这个错误:

  

错误:樱桃选择或恢复已经在进行中提示:尝试" git   cherry-pick(--continue | --quit | --abort)"致命的:恢复失败

尝试使用--continue但是没有用。

我们怎么做?

1 个答案:

答案 0 :(得分:0)

--no-commit传递给revert,然后尝试使用git checkout来切换分支机构不会起作用。

# First cleanup branch XXX
git checkout XXX
git revert C..HEAD

此处,无需尝试多次还原。只需合并原始提交,然后为恢复

建立合并历史记录
# now get the commits to YYY
git checkout YYY
git merge E 
git merge -s ours XXX