在TortoiseGit中使用Git时:有人知道如何将单个文件(或完整的存储库)还原到以前的版本?
例如,我有一个存储库包含多个文件。 一个文件存在三个版本(1; 2; 3)。 现在我想从修订版3变回2。
TortoiseGit在“显示日志”对话框中提供了一个“回复”function,允许跳回到一个特定的版本,但是这将恢复你的整个版本库,而不是一个文件。
另外,一旦我已经恢复了一些东西,我不知道如何撤销恢复和跳回到最新的修订。
在TortoiseGit中,答案是右键单击项目文件夹,然后单击显示日志,然后右键单击要回滚到的更改,然后单击切换/检出到此…。 它会让你从那个奇怪的地方进入提交堆栈,或者分支,如果你打算提交,并希望事情保持理智。
从命令行: git checkout
可能是你想要的。
该文档显示了一个例子:
$ git checkout master~2 Makefile
将Makefile
恢复到主分支中的两个修订版本
从TortoiseGit(通过Windows资源管理器),看起来你可以通过以下步骤来完成这个工作:
Show log
” Revert to this revision
1 files revert to e19a77
更新我的答案,根据这些意见:
假设工作树是干净的,你想要:
检出其以前版本的一些文件
(a)右键单击要恢复的文件,然后显示该文件的日志
(b)右键单击文件列表中的文件并执行还原为父版本
(c)重复(a),(b)直到获得所有你想要的文件。
测试
恢复到当前的修订版本
(a)在资源管理器的上下文菜单中执行Revert …
这样,您可以选择要恢复的文件。
(b)或者这个快速的方法:在日志对话框中执行硬重置
这样,所有更改的文件恢复。 (=>丢失所有工作目录更改)
(在TortoiseGit 1.8.16.1,GfW 2.6.4.windows.1,Win 10 64bit上测试)
也可以得到一个特定的文件:
TortoiseGit显示一个包含所有修订列表的对话框
在对话框底部的列表中,它显示了与提交相关的所有文件
例如: – 原始文件是file.txt – 修订版2将保存为文件-67b51a8.txt
我正在使用TortoiseGit v2.2.0.0
对于龟版本2.3.0:
你可以用几种方法做,但我认为最快的是: