【问题标题】:How can I revert commits by others in Git?如何在 Git 中恢复其他人的提交?
【发布时间】:2021-12-12 22:28:03
【问题描述】:

我想恢复其他人的提交,而且我不是该库的贡献者,我只是一个助手,必须在 git 存储库中进行一些更改。直到这里我克隆了一个存储库和我必须还原的文件我发现使用git log 的提交并找到了那个提交,当我执行git revert commit_id 时我得到了这个错误。

错误:您的本地更改将被还原覆盖。 提示:提交您的更改或存储它们以继续。 致命:还原失败

我的问题是我必须采取什么步骤来恢复其他人的提交,记住我不是该存储库的贡献者或做过任何事情?

【问题讨论】:

  • 你需要一个干净的工作树。 git stash 是一种将它们放在一边的方法。 git reset --hard 是为了摆脱它们(永久,小心)。
  • 感谢您的回答,在执行 git stash 之后它工作正常,现在我确实还原了文件,但它显示在我的本地机器上,但不在 github 主存储库上?

标签: git revert


【解决方案1】:

我相信你只需要

git add .
git commit -m "commit message"

因为你需要有一个清晰的暂存区然后你才能恢复。

【讨论】:

    【解决方案2】:

    尝试执行 git commit 或 git stash。与上一个答案一样,您的阶段必须具有阻止提交的内容。

    【讨论】:

      【解决方案3】:

      该错误与权限无关。 Git 保护的本地更改不会被意外破坏。首先处理那些,提交,存储,重置等。当你的阶段清晰时,你将能够恢复。是否可以push 是另一回事,取决于权限。

      【讨论】:

      • 我是 git 新手。正如您提到的处理提交、存储、重置等。这些是什么以及为什么在恢复提交之前我必须这样做?谢谢
      • 抱歉,我不会写完整的 Git 入门书。请自行研究 Git 基础知识。简短的回答是,如果你让 Git 做一些修改未提交更改的文件,它会警告你。
      猜你喜欢
      • 2022-10-20
      • 2018-10-17
      • 2018-04-19
      • 1970-01-01
      • 2019-06-15
      相关资源
      最近更新 更多