【问题标题】:How to recover my git branch to an appointed commit?如何将我的 git 分支恢复到指定的提交?
【发布时间】:2014-07-06 21:42:46
【问题描述】:

例如:我想恢复到远程的最后 3 次提交?

【问题讨论】:

  • “恢复”是什么意思?您的意思是查看该特定快照上的代码以了解过去的提交吗?
  • 我建议您阅读stackoverflow.com/help/how-to-ask 并编辑此问题以符合本页的标准。

标签: git svn branch


【解决方案1】:

您从远程获取的是存储库及其分支的完整历史记录。

但是一旦获取,没有什么可以阻止您将分支重置为 3 次提交:

git checkout yourBranch
git reset --hard HEAD~3

确保您没有任何正在进行的工作(它们将被擦除),并且您必须强制推送到上游分支:

git push -f origin yourBranch

如果您有其他人从同一个远程仓库获取同一个分支,这不是一个好的做法。

另一种技术(不涉及重写历史)是revert:例如参见“Reverting a series of pushed merges and commits in Git (without rewriting history)

git revert HEAD~3..HEAD

这将创建一个 new 提交,该提交将取消最后 3 个。您可以像往常一样推送它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-11
    • 2021-11-03
    • 1970-01-01
    • 2016-07-28
    • 2011-10-01
    • 2018-04-13
    • 2019-01-12
    • 2020-03-01
    相关资源
    最近更新 更多