恢复到以前版本的 git 修订版并推动它使其成为新头?



我需要在大约 3 次推送前制作最新版本的 git,我不确定如何使用 TortoiseGit 做到这一点。

我尝试从每次提交中恢复更改,直到我想要的更改,但这引起了许多意外的损坏和文件冲突问题。

我觉得应该有一种简单的方法可以简单地说"使修订版 xyz 成为最新的并将其向上推"。

例如,这个维基:

  • 使用 TortoiseGit 命令:Git 显示日志
  • 选择问题开始之前的提交点。
  • 使用 TortoiseGit 命令:将"BRANCH"重置为此...
    • 其中 BRANCH 表示正在使用的分支的名称。
  • 使用"硬"选项
    • 这将删除 Git AND 中此点以上的所有提交点
    • 工作文件将重置回项目此时的状态。

然后,仍然使用 TortoiseGit,在激活强制选项的情况下推动。

  1. 找到您认为正确的修订版。假设它是abc123.
  2. 对于已推送和更新的远程存储库中的分支,请运行git push origin -f abc123:<branch_namr>。它使用abc123作为其新头提交覆盖分支。如果您后悔,可以从当前头git branch foo创建一个备份分支。如果你想撤消强制推动,你可以运行git push origin -f foo:<branch_name>.如果您没有备份,可以通过git reflog找到以前的头。
  3. 对于本地分支,请运行git checkout <branch_name>;git reset abc123 --hard

最新更新