如何从Git中的特定修订中检索单个文件

如何从Git中的特定修订中检索单个文件

我有一个Git存储库,我想看看几个月前某个文件的外观。我在那一天发现了修订版,而且是.27cf8e84bb88e24ae4b4b3df2b77aab91a3735d8..我需要看看一个文件是什么样子的,并将其保存到一个文件中。

我设法看到该文件使用gitk,但它没有办法拯救它。我试过使用命令行工具,最接近的是:

git-show 27cf8e84bb88e24ae4b4b3df2b77aab91a3735d8 my_file.txt

但是,此命令显示的是一个diff,而不是文件内容。我知道我以后可以用PAGER=cat并将输出重定向到文件,但我不知道如何获得实际的文件内容。

基本上,我想找的是SVN猫.


隔江千里
浏览 523回答 3
3回答

富国沪深

这个最简单方法是写:git show HASH:file/path/name.ext > some_new_name.ext其中:散列是git修订版sha-1散列号。文件/path/name.ext是要查找的文件的名称。一些新的名字.EXT保存旧文件的路径和名称。例git show 27cf8e84bb88e24ae4b4b3df2b77aab91a3735d8:my_file.txt > my_file.txt.OLD这样可以节省我的文件从修订27cf8e作为一个具有名称的新文件我的file.txt.OLD用Git 2.4.5进行了检测。如果你想检索删除可以使用的文件HASH~1(在指定的散列之前提交一次)。例子:git show 27cf8e84bb88e24ae4b4b3df2b77aab91a3735d8~1:deleted_file.txt > deleted_file.txt
打开App,查看更多内容
随时随地看视频慕课网APP