【问题标题】:How to undo the last commit on GitHub?如何撤消 GitHub 上的最后一次提交?
【发布时间】:2021-12-26 07:54:33
【问题描述】:

我想撤消在存储库的主分支上推送到 GitHub 的最后一次提交,并使其看起来好像该提交从未存在并且不会出现在提交历史记录中。

我该怎么做?

请注意那些投票结束的人 - 提议的替代问题不必要地复杂,具有居高临下的答案,并且散落着难以筛选的巨大文字墙。

因此,为了我和后代的利益,这个简单的问题有一个简单的答案。

【问题讨论】:

  • 这能回答你的问题吗? Undoing a 'git push'
  • 我的问题已经得到解答,但感谢您的关注。

标签: github commit undo git-revert


【解决方案1】:

如果您希望将存储库的主分支回退到先前推送的提交,只需运行此命令 - 当然,使用适当的提交哈希:

git reset --hard a0b1c2d3e4f5g6h7i8j9k0l1m2n3o4p5q6r7s8t9
git push --force

这可能会产生意想不到的后果,例如,如果您的存储库中有协作者。但是,我相信你知道你在做什么?

【讨论】:

    【解决方案2】:

    我认为您正在寻找 --force 参数。

    您可以使用git reset --hard {commit sha} 重置为特定提交,然后使用git push --force 强制更改为原点。

    请注意,如果其他人正在使用您的 repo,他们将需要使用 git pull --force 否则他们可能会无意中将您不需要的提交放回 repo。

    我建议在采取行动之前阅读git resetgit push 的帮助文档。

    【讨论】:

      猜你喜欢
      • 2020-08-26
      • 2013-07-03
      • 2016-09-22
      • 2018-02-17
      • 2016-10-24
      • 2013-10-18
      • 1970-01-01
      • 2013-03-30
      • 2016-02-27
      相关资源
      最近更新 更多