我需要在大约 3 次推送前制作最新版本的 git,我不确定如何使用 TortoiseGit 做到这一点。
我尝试从每次提交中恢复更改,直到我想要的更改,但这引起了许多意外的损坏和文件冲突问题。
我觉得应该有一种简单的方法可以简单地说"使修订版 xyz 成为最新的并将其向上推"。
例如,这个维基:
- 使用 TortoiseGit 命令:Git 显示日志
- 选择问题开始之前的提交点。
- 使用 TortoiseGit 命令:将"BRANCH"重置为此...
- 其中 BRANCH 表示正在使用的分支的名称。
- 使用"硬"选项
- 这将删除 Git AND 中此点以上的所有提交点
- 工作文件将重置回项目此时的状态。
然后,仍然使用 TortoiseGit,在激活强制选项的情况下推动。
- 找到您认为正确的修订版。假设它是
abc123
. - 对于已推送和更新的远程存储库中的分支,请运行
git push origin -f abc123:<branch_namr>
。它使用abc123
作为其新头提交覆盖分支。如果您后悔,可以从当前头git branch foo
创建一个备份分支。如果你想撤消强制推动,你可以运行git push origin -f foo:<branch_name>
.如果您没有备份,可以通过git reflog
找到以前的头。 - 对于本地分支,请运行
git checkout <branch_name>;git reset abc123 --hard
。