假设我有一个名为example.rb的文件已经提交。我需要做的是找到树对象的SHA-1哈希值,该哈希表示该提交时项目的基本目录。
我先做的是
git ls-files -s example.rb
给了我
100755 ee9e1ee0ed2cb17f66fba5331e7c953bd1530b55 0 example.rb
但是如何从那里获得Tree哈希?
如果我使用
git cat-file -p ee9e1ee0ed2cb17f66fba5331e7c953bd1530b55
它只是给我实际的文件,而不是我之后的文件的元数据
答案 0 :(得分:1)
您无法使用ls-files
执行此操作:ls-files
适用于实际上不包含文件夹的索引。 (树结构是在提交时构建的。)
但是,由于您在提交中寻找树,您可以使用ls-tree
代替:
git ls-tree -d HEAD <dir_path>