为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Git
隔江千里 2019-07-19 10:08:02
如何从Git中的特定修订中检索单个文件我有一个Git存储库,我想看看几个月前某个文件的外观。我在那一天发现了修订版,而且是.27cf8e84bb88e24ae4b4b3df2b77aab91a3735d8..我需要看看一个文件是什么样子的,并将其保存到一个文件中。我设法看到该文件使用gitk,但它没有办法拯救它。我试过使用命令行工具,最接近的是:git-show 27cf8e84bb88e24ae4b4b3df2b77aab91a3735d8 my_file.txt但是,此命令显示的是一个diff,而不是文件内容。我知道我以后可以用PAGER=cat并将输出重定向到文件,但我不知道如何获得实际的文件内容。基本上,我想找的是SVN猫.
查看完整描述

3 回答

?
富国沪深

TA贡献1790条经验 获得超9个赞

这个最简单方法是写:

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



查看完整回答
反对 回复 2019-07-19
  • 3 回答
  • 0 关注
  • 522 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信