Git - 按文件名

时间:2015-11-17 11:36:14

标签: git

假设我有一个名为example.rb的文件已经提交。我需要做的是找到树对象的SHA-1哈希值,该哈希表示该提交时项目的基本目录。

我先做的是

git ls-files -s example.rb

给了我

100755 ee9e1ee0ed2cb17f66fba5331e7c953bd1530b55 0   example.rb

但是如何从那里获得Tree哈希?

如果我使用

git cat-file -p ee9e1ee0ed2cb17f66fba5331e7c953bd1530b55

它只是给我实际的文件,而不是我之后的文件的元数据

1 个答案:

答案 0 :(得分:1)

您无法使用ls-files执行此操作:ls-files适用于实际上不包含文件夹的索引。 (树结构是在提交时构建的。)

但是,由于您在提交中寻找树,您可以使用ls-tree代替:

git ls-tree -d HEAD <dir_path>