卡在git revert上 - 与冲突有关
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了卡在git revert上 - 与冲突有关相关的知识,希望对你有一定的参考价值。
所以这些是我最近的3次提交
commit cb5f9f58885049c20ea7d75e3fcc120f61f6d9a1 commit bad20788aa8b72622182cf28195b4b4e518d44a3 commit eeb8a571e300b52cd0c200351872467c47a32214
我想还原bad207~commit(哦,具有讽刺意味),所以我运行:
git revert bad20788aa8b72622182cf28195b4b4e518d44a3
有一个冲突,bad207和cb5f触摸同一个文件:
You are currently reverting commit bad2078.
(fix conflicts and run "git revert --continue")
(use "git revert --abort" to cancel the revert operation)
所以我修复了冲突并运行:
git add conflicted_file
然后:
git revert --continue
哪些输出(用西班牙语表示,在分支主机上,您的分支用origin / master更新):
En la rama master
Su rama está actualizada con «origin/master».
You are currently reverting commit bad2078.
nothing to commit, working directory clean
然后我被卡住了,我无法推送任何东西,或提交任何东西,我仍处于恢复模式:
$ git push origin master
Everything up-to-date
$ git commit -a
En la rama master
Su rama está actualizada con «origin/master».
You are currently reverting commit bad2078.
nothing to commit, working directory clean
$ git status
En la rama master
Su rama está actualizada con «origin/master».
You are currently reverting commit bad2078.
(todos los conflictos corregidos: ejecute «git revert --continue»)
(use "git revert --abort" to cancel the revert operation)
$ git revert --continue
En la rama master
Su rama está actualizada con «origin/master».
You are currently reverting commit bad2078.
nothing to commit, working directory clean
什么都没有提交,工作目录干净,我错过了什么?
答案
解决冲突后,revert
提交包含更改。
所以你无法继续,因为默认情况下git
会阻止创建空提交。
您可以:
- 尝试
--allow-empty
param,但我不知道这对你有什么用。 - 通过运行
git revert --abort
取消创建还原提交。然后手动创建一个还原提交(只需手动进行更改)。 - 尝试将提交重新设置为还原为提交日志。最有可能你试图恢复的提交不是最新的。因此将其置于顶部将允许您创建一个没有任何冲突的还原。
- 像之前选项中的rebase一样,只是从分支历史中删除它。
最后两个选项会破坏分支历史记录,但如果其他人正在处理此分支,那么在重新定位/合并时可能会遇到问题。
以上是关于卡在git revert上 - 与冲突有关的主要内容,如果未能解决你的问题,请参考以下文章