TortoiseGit - 撤销?

39

我正在使用TortoiseGit。 我想回到之前删除一些图片的某个时间点。

我该如何做到这一点,我看到的还原方法都不正确....

5个回答

52

右键点击你的工作目录,从TortoiseGit菜单中选择“显示日志”。

之后,您可以右键点击以前的提交并将分支重置为该提交。


1
我经常使用Tortoise Git来进行临时操作,以确定是否引入了错误。但是,在重置分支后,如何更新回之前的状态呢? - Flethuseo

27

如果您已删除了一些文件并且尚未提交,Revert将非常适用。选择TortoiseGit-> Revert...将显示一个窗口,供您选择要恢复的文件。被删除的文件将以红色显示。

如果您已经提交了删除操作,那么您可以使用Reset回到删除文件之前的提交状态。请注意,如果您使用重置,您将不再在日志中看到重置到的提交之后的提交记录。

如果您希望保留删除文件的提交记录,您可以在新分支中Checkout之前的提交,将恢复的文件复制到一个单独的文件夹中,切换回原始分支,然后将文件添加回原始分支。


6
  1. 在你想要还原的目录或文件上右键,然后选择Tortoise Git -> Show log

enter image description here

  1. 在窗口顶部选择您想要还原到的修订版本,然后在屏幕底部右键单击任何文件并选择Revert to this revision

enter image description here

希望这能节省你一些时间。


3

当出现合并提交时,Git可能会变成一场可怕的噩梦。合并通常会破坏一些最近的提交/更改。以下是一种通过TortoiseGit还原合并并恢复更改的方法。

1)右键单击您的存储库,TortoiseGit->显示Reflog Step 1

2)Reflog对话框将出现,显示所有最近的提交。右键单击合并提交(导致问题的提交),然后选择选项“通过此提交撤销更改” -> Parent 2如图所示。 Step 2

这将恢复所有丢失的更改到您的本地存储库,提交并推送,然后您应该可以正常使用了。


0

我按照James Lawruk answer中的建议进行了操作。

如果您已经提交了删除操作,那么您可以将其重置到删除文件之前的提交。请注意,如果您使用重置,则将不再在日志中看到重置提交后的提交。

我已经在本地得到了想要的结果。但是当我尝试将还原版本推送到远程服务器时,Git 要求先拉取最新版本,从而有效地从服务器恢复最新版本。

我必须将我的“重置”本地状态推送到一个新的远程分支,然后将新的远程分支合并到主远程分支中。

这是一个好习惯,但直接推送无法工作并不明显。


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