tortoisegit 中是否有一个选项可以撤消对回购的最后一次提交?
我错误地将大量不必要的文件推送到我需要撤消的 git 存储库(分支:master)中。我已经在 tortoise git 中搜索了很多正确的选项来撤消推送并返回到上次提交之前的状态。请告诉我一种撤消我上次提交的方法。
tortoisegit 中是否有一个选项可以撤消对回购的最后一次提交?
我错误地将大量不必要的文件推送到我需要撤消的 git 存储库(分支:master)中。我已经在 tortoise git 中搜索了很多正确的选项来撤消推送并返回到上次提交之前的状态。请告诉我一种撤消我上次提交的方法。
如果您还没有推送您的更改(所以您的提交只是本地的)
TortoiseGit
->Show log
Reset "<branch>" to this...
如果你有,那么这仍然可以完成,但是你还必须做一个强制推送(检查“覆盖已知更改” 1)。
1 “覆盖已知更改”标志将用新的提交替换已经推送的提交。如果有人可能已经获取了您要替换的提交,请不要使用此功能,否则这样做会在历史中创建一个具有两个相互冲突的事实的分叉。
当您只想(1)重做最后一次提交和(2)您还没有推送它时,还有一个快捷方式:
这将用新的提交替换最后一次提交。但我不推荐使用这个——如果最后一次提交已经被推送,你可能会遇到一团糟。TortoiseGit不会在这里阻止你。
通过执行重置,您将被迫查看日志,并在那里查看提交是否是本地的。
如果您需要恢复到上次提交之前的状态,只需从日志列表中选择已提交的操作并选择revert changes by this commit
.
请注意,您需要一次commit
又一次push
地进行更改。