我有一个生成其他脚本的脚本。我想在生成的脚本中加入一些标识,以便找到生成它的脚本版本。
我已按照How do I enable ident string for Git repos?(使用$ Id $)上的说明操作。既然我有文件的哈希(而不是提交),我如何从回购中找到文件的版本?
答案 0 :(得分:1)
使用git cat-file
。
要查看对象的类型,请使用git cat-file -t revspec
,其中 revspec
是任何有效的修订说明符(请参阅gitrevisions )。例如:
$ git cat-file -t master
commit
要查看对象的内容,请使用git cat-file -p revspec
。如果 revspec
标识“blob”(文件),则会为您提供文件的原始内容。请注意,不会应用任何过滤器。
(如果它标识了提交,标记或树,则会获得该表示的可打印表示。)
(您只能对路径应用过滤器,而不是原始对象ID。将blob ID转换为指定blob非常重要的一组路径,但除非blob未被引用,否则不可能;但是,可能有多个路径指一个blob,一个Unix / Linux硬链接。)