我有一个Git存储库,我想看看几个月前一些文件的样子。我找到了那个日期的修订本;这是27 cf8e84bb88e24ae4b4b3df2b77aab91a3735d8。我需要看到一个文件看起来像什么,并将其保存为(“新”)文件。
我设法使用gitk查看文件,但它没有保存它的选项。我尝试使用命令行工具,我得到的最接近的是:
git-show 27cf8e84bb88e24ae4b4b3df2b77aab91a3735d8 my_file.txt
但是,该命令显示的是一个差异,而不是文件内容。我知道我可以稍后使用类似PAGER=cat的东西并将输出重定向到一个文件,但我不知道如何获得实际的文件内容。
基本上,我在找svn cat之类的东西。
最简单的方法是这样写:
git show HASH:file/path/name.ext > some_new_name.ext
地点:
HASH是Git修订的SHA-1哈希值
文件/道路/的名字。Ext是您要查找的文件的名称
some_new_name。Ext是保存旧文件的路径和名称
例子
git show 27cf8e84bb88e24ae4b4b3df2b77aab91a3735d8:my_file.txt > my_file.txt.OLD
这将把修订版27cf8e中的my_file.txt保存为一个名为my_file.txt. old的新文件
它是用Git 2.4.5测试的。
如果你想检索被删除的文件,你可以使用HASH~1(在指定HASH之前提交一次)。
例子:
git show 27cf8e84bb88e24ae4b4b3df2b77aab91a3735d8~1:deleted_file.txt > deleted_file.txt