在公共代码库中回滚到旧的Git提交记录

936

如何在 git 中回退到特定的提交版本?

有人给出的最佳答案是使用 git revert 多次操作,直到回到目标提交版本。

例如,如果我要回退到20个提交版本之前的某一版本,就需要执行20 次相应的操作。

是否有更简便的方法来实现这一目标呢?

由于这个仓库是公共的,因此无法使用 reset 命令。


1
git revert <commit> 不起作用? - miku
9
正如我在问题中所述,如果我想回到20个提交之前的某个状态,这并没有真正帮助我。 - David
8
这个问题在这里已经得到了很好的回答:https://dev59.com/im855IYBdhLWcg3w1oLa。 - user7610
6
“rolling back” 的意思不明确。这是否意味着您想暂时将工作副本切换到特定的版本?或者您确实想永久性地将存储库的历史记录恢复到某个特定版本?请说明清楚。 - user456814
2
你应该接受一个答案,并可能投票支持其他你喜欢的答案。 - Nabil Kadimi
相关:将Git仓库还原到以前的提交。请注意,该问题没有公共仓库的限制。 - user456814
13个回答

1
这里有一个示例来实现这个功能。
    cd /yourprojects/project-acme 


    git checkout efc11170c78 .

0

回滚 Git 中的特定提交:

  • 获取旧的 Git 提交记录:(ac2ec... 是提交名称)
git checkout ac2ece0219689ed86b08c93dfebb0d02c0f1d5b1
  • 给你想要指向HEAD分离的新分支命名:
git branch get_back_to_past
  • 切换到该分支
git checkout get_back_to_past

现在该分支已经包含了过去的提交项。例如,如果您愿意,可以将其合并到主分支中。

有关Git HEAD和回滚到旧版本的更多信息:点击这里


0
在 Github 上找到你所做的提交并切换到它。
git checkout <commit#>

例子:git checkout b29ce12

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接