【问题标题】:What should I do when git revert aborts with an error message?当 git revert 中止并显示错误消息时我该怎么办?
【发布时间】:2011-08-30 09:07:51
【问题描述】:

好的,所以当我尝试恢复提交(使用 Git)时,有时会出现错误。我所做的就是

git revert <commit hash>

它给了我这个信息:

error: could not revert <commit hash> <commit message>
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'

这是否意味着我应该使用git mergetool 并解决任何冲突?一旦我这样做了,我可以添加/rm 然后提交,并且还原完成了吗?

【问题讨论】:

  • 冲突应该出现在你的代码文件中,对吧?所以这就是你应该解决的地方。完成后确保提交正确的内容。

标签: git commit git-revert mergetool


【解决方案1】:

您可以使用 git reset --hard,如果您想删除所有冲突并删除您已完成的导致中止错误发生的还原。

【讨论】:

  • 很确定git reset --mixed 是一个更安全的选择。
【解决方案2】:

是的,您必须解决冲突,用git addgit rmgit commit 标记它们

提交尚未完成,在 git revert 之后 - 如果您看到 .git/MERGE_MSG,您将看到类似:

revert“添加revert”

这会恢复提交 c1366607f15a8384434948cb0bcbf8ece48bb460。

冲突:

还原

因此,一旦您解决了合并并执行git commit,您将看到来自 MERGE_MSG 文件的消息,您可以提交并完成还原。

【讨论】:

  • 好的,谢谢!只是想确保我做的是正确的事情:)
  • 如果我意识到根本不需要还原,我该怎么办?如何“清除”工作目录?
  • @przemo_li:输入git status,它会给你一个建议:(use "git revert --abort" to cancel the revert operation)
  • 修复所有冲突后使用可以使用git revert --continue完成操作。
  • 不幸的是我做不到git revert。我一直收到错误消息,例如:“以下未跟踪的工作树文件将被合并覆盖:”。我什至不能使用force。我真的要手动删除这些文件吗?
猜你喜欢
  • 1970-01-01
  • 2016-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-11
  • 1970-01-01
  • 2021-08-06
  • 1970-01-01
相关资源
最近更新 更多