git树对象的内容格式是什么?
blob对象的内容是blob [size of string] NUL [string],但对于树对象是什么?
我正在使用msysgit(1.7.9),我正在寻找正确的git ls-files命令调用,以显示当前级别的(跟踪的)文件和目录,无论是从索引还是当前工作目录,如果这是更轻松.
基本上它会给出一个类似于你在Github上看到的目录列表.来自Windows,我不太熟悉正确的方法(?).
我想在树对象上附上一个注释.但是,为了做到这一点,我首先需要知道树对象的哈希值.对于作为我的存储库一部分的给定目录名,如何获取其所属的树对象的哈希以便为其附加注释?
从阅读这个答案我知道我可以使用
git cat-file -p master^{tree}
Run Code Online (Sandbox Code Playgroud)
列出根树的内容,但我仍然需要grep目录名的输出,并递归地遵循嵌套的树对象来获取树对象的层次结构中较深层目录的哈希值.
基本上,我正在寻找虚构get-tree-hash.sh脚本的实现.如果被称为
get-tree-hash.sh path/to/directory/in/my/git/repo
Run Code Online (Sandbox Code Playgroud)
它应该输出
The hash for the "repo" tree inside "path/to/directory/in/my/git" is:
92a68a2f5560fa7080393b633e2afd1d5271deef
Run Code Online (Sandbox Code Playgroud) 可能重复:
目录上的git hash-object?
据说Git哈希是该提交中正在跟踪的所有文件的SHA-1哈希.看来我们可以通过使用看到HEAD的哈希值git rev-parse HEAD,但是有没有办法查看当前工作目录的哈希值?(不做提交)