使用TortoiseGit撤销Git提交

10

我在Windows中使用TortoiseGit进行git项目管理。

我在我的项目上做了一次本地提交,现在想要撤销它。

如何使用TortoiseGit撤销git提交?而不丢弃我的更改。


你介意使用命令行git客户端执行此操作吗? - user3159253
@user3159253 我知道如何使用命令行来撤销操作。我想用Tortoise进行撤销,而不想使用两种工具。 - MOHAMED
啊,好的 :) 就我个人而言,我认为大多数版本控制系统的图形用户界面都很糟糕,但你的经验可能不同。 - user3159253
“without discarding my changes”是什么意思?是指本地的更改吗?还是指您想保留的提交,除了您想撤消的那个提交? - Yue Lin Ho
你如何使用命令行撤销操作? - Yue Lin Ho
2个回答

16

撤销上一次提交:重置

输入图片描述

并且

输入图片描述

[注意] 如果您想保留工作目录更改,请改用 混合模式

结果为:

输入图片描述


撤销/删除不是最后提交的提交:强制变基

输入图片描述

并且

输入图片描述

(您可能会遇到冲突,但如何解决冲突是另一个故事。:P)

并且

输入图片描述

结果为:

输入图片描述


但是您将失去更改 - Alexan
使用Rebase功能,不会丢失提交“3”。用户说:“但我也想从历史记录中将其删除。”假设用户的意思是要删除“2”,而不是丢失“3”。 - Yue Lin Ho
他想从历史记录中删除,但保留本地更改。 - Alexan
但我认为他指的是本地更改。最好向他询问澄清。 - Alexan
添加了重置混合选项的注释。 - Yue Lin Ho
显示剩余6条评论

6
TortoiseGit -> Show Log -> Revert change by this commit

这将生成一个还原提交的提交,因此您不会“丢失”自己的更改。


1
我尝试过这个。这将保留旧的提交记录。但是我想从历史记录中删除它。 - MOHAMED
如果您使用 Reset,它将丢失提交,除非您尽快转到 reflog(在垃圾收集之前)。 - linquize
这对我有用。我使用的是Windows版本2.4.0的Tortoise Git客户端。唯一的变化是在TortoiseGit下没有“显示日志”。有一个名为“显示Reflog”的选项,它反过来显示了所有提交。我可以撤消并创建一个新的“撤消提交”。我对历史记录保持满意。 - Sudhir

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接