我有一个Git存储库,我想看看几个月前一些文件的外观。我在那一天发现了修订版,是27cf8e84bb88e24ae4b4b3df2b77aab91a3735d8。我需要查看一个文件的外观,并将其保存为(“新”)文件。
我设法使用gitk查看了该文件,但它没有保存它的选项。我试过用命令行工具,我得到的最接近的是:
git-show 27cf8e84bb88e24ae4b4b3df2b77aab91a3735d8 my_file.txt但是,此命令显示的是一个diff,而不是文件内容。我知道我以后可以使用PAGER=cat之类的东西并将输出重定向到一个文件,但是我不知道如何获得实际的文件内容。
基本上,我在寻找类似于svn猫的东西。
发布于 2010-11-18 19:41:15
如果希望将当前分支中的文件的内容与来自以前提交或其他分支的文件的内容进行replace/overwrite,则可以使用以下命令:
git checkout 08618129e66127921fbfcbc205a06153c92622fe path/to/file.txt或
git checkout mybranchname path/to/file.txt然后,您必须提交这些更改,以便它们在当前分支中生效。
发布于 2009-03-04 11:46:35
您需要提供文件的完整路径:
git show 27cf8e84bb88e24ae4b4b3df2b77aab91a3735d8:full/repo/path/to/my_file.txt发布于 2015-07-07 13:55:10
最简单的方式是编写:
git show HASH:file/path/name.ext > some_new_name.ext其中:
示例
git show 27cf8e84bb88e24ae4b4b3df2b77aab91a3735d8:my_file.txt > my_file.txt.OLD这将将my_file.txt从修订27cf8e中保存为一个名为的新文件。
用Git 2.4.5进行了检测。
如果要检索已删除的文件,可以使用HASH~1 (在指定的哈希之前提交一次)。
例子:
git show 27cf8e84bb88e24ae4b4b3df2b77aab91a3735d8~1:deleted_file.txt > deleted_file.txthttps://stackoverflow.com/questions/610208
复制相似问题