tortoisegit中是否有一个选项可以撤消最后一次提交到repo中?
我错误地将大量不必要的文件推送到我需要撤消的git存储库(branch:master)中。我已经搜索了很多关于tortoise git中正确的选项来撤消push并返回到最后一次提交之前的状态。请告诉我一个撤消我上次提交的方法。
答案 0 :(得分:47)
如果您尚未推送更改(因此您的提交仅限于本地)
TortoiseGit
- > Show log
Reset "<branch>" to this...
如果你有,那么这仍然可以完成,但是你还必须进行强制推送(检查&#34; 覆盖已知的更改&#34; 1 )。
1 &#34; 覆盖已知的更改&#34; flag将用新的提交替换已经推送的提交。如果有人已经获取了您正在替换的提交,则不要使用此功能,否则这样做会在历史记录中创建一个包含两个相互矛盾的事实的分支。
当你想要(1)重做最后一次提交和(2)你时,还有 快捷方式 尚未推出:
这将用新的提交替换最后一次提交。但我不建议使用它 - 如果最后一次提交已被推送,你最终可能会陷入混乱。 TortoiseGit将不阻止你到这里。
通过执行重置,您将被迫查看日志,并在那里查看提交是否是本地的。
答案 1 :(得分:33)
如果您需要在上次提交之前恢复到之前的状态,只需从日志列表中选择提交的操作,然后选择revert changes by this commit
。
请注意,您需要再次commit
和push
进行更改。