【问题标题】:How to revert a GitHub repo to a certain commit [duplicate]如何将 GitHub 存储库还原为某个提交 [重复]
【发布时间】:2018-11-26 16:06:55
【问题描述】:

我一直在我的 GitHub 存储库中提交更改。我现在想回滚到我之前所做的某个提交。

如何重置我的存储库,以便在我想要返回的提交之后,我所做的所有提交都被擦除?

我找到了一些关于 git reset --hard <id> 的答案,但它并没有达到我想要的效果。

【问题讨论】:

  • 你为什么要这样做?为什么你不能将一些旧的代码状态推入其中?换句话说,为什么要“改写历史”?这是可能的,但这是社会上的坏品味!
  • 我知道重置到某个提交是不好的做法,但我真的需要这样做。不过感谢您的提醒。
  • 但是为什么呢?我们都会犯错误,有几个人可能已经git pull-ed 你的代码,所以仍然保留你的旧代码。我觉得这很糟糕......考虑(就像我们所有人一样)为你过去的错误负责。玩树枝。
  • 我添加了代码,但意识到它不会按计划进行。是的,如果这是一个小组项目,我什至不会考虑做我刚刚做的事情。
  • 这就是分支的用途。学会使用它。无需“改写历史”。也许您将来会注意到,这些糟糕代码中的某些行可能会被明智地重用

标签: git reset


【解决方案1】:

您需要将提交“强制推送”到存储库。

git reset --hard <id>
git push --force-with-lease

请注意,这会擦除远程存储库中的数据,并且已经拥有pulled 您的存储库的每个人也需要恢复。

【讨论】:

  • —force-with-lease 被认为优于—force
  • 谢谢,我不知道。在我的回答中改变了它。
猜你喜欢
  • 2020-12-28
  • 1970-01-01
  • 2021-09-29
  • 2012-06-02
  • 1970-01-01
  • 2012-04-05
  • 1970-01-01
  • 1970-01-01
  • 2012-05-12
相关资源
最近更新 更多