git - git revert 引发冲突并且它不固定(不断显示(master|reverting))
问题描述
这个问题以前有人问过,但没有得到完整的答案,所以我再问一次。
当我试图恢复我的 git 提交历史中的一个提交时,发生了冲突,所以我尝试通过手动编辑冲突文件来解决这个问题。我保存了文件(使用 vim)并返回到 git bash。然后我尝试通过添加和提交编辑的文件来完成恢复过程。但我仍然(master|reverting)
在我的提示符(user@123123 MINGW64 ~/Documents/library/Git/s1 (master|REVERTING)
)中看到。(master|reverting)
我可以通过使用git revert --abort
or摆脱git revert --skip
(使用这两个命令忽略整个还原过程)但是当我使用时git revert --continue
没有任何反应。在这一步中,当我运行时git status
,git 会显示以下消息:
On branch master
You are currently reverting commit bbcf9a4.
(all conflicts fixed: run "git revert --continue")
(use "git revert --skip" to skip this patch)
(use "git revert --abort" to cancel the revert operation)
nothing to commit, working tree clean
我很好奇为什么(master|reverting)
会首先出现这种情况以及如何完成还原过程。
解决方案
我怀疑,在解决了你的冲突之后,你最终得到了一个空的阶段和一个干净的工作树。
换句话说,您通过准确地编辑文件在恢复之前的状态来修复冲突。
是否git status
为您提供以下屏幕?
On branch master
You are currently reverting commit e768305.
(all conflicts fixed: run "git revert --continue")
(use "git revert --skip" to skip this patch)
(use "git revert --abort" to cancel the revert operation)
nothing to commit, working tree clean
如果是这样,你的舞台是空的,你的工作树是干净的;在空舞台上使用git commit
什么都不做,以及使用git revert --continue
(因为它在幕后进行提交)。
您可能只是跳过您的还原(使用git revert --skip
,因为舞台是空的),或者创建一个空提交,git commit --allow-empty
但这将毫无意义。
要务实地阻止 Git 说出“正在恢复”(并停止处于“正在恢复”状态),请删除该.git/REVERT_HEAD
文件。
推荐阅读
- typescript - Rollup a (major) part of an Vue application (with ts and vue-property decorator)
- authentication - x-auth-token vs x-access-token vs Authorization in JWT
- google-sheets-api - Cost of using Google Spread Sheet API
- c++ - C++20模板类的概念
- python - Django Admin ModelMultipleChoiceField 表单更新不起作用
- odoo-8 - 如何在发票odoo 8中显示税收百分比而不是税收名称
- c - 如何从空间复杂度优化的 0-1 背包中获取使用过的元素
- java - intellij 有办法查看所有软件包吗?
- r - 如何替换 R Shiny 中 CSV 列的值
- java - 应用程序因 debug minifyEnabled true 而崩溃