列出所有树对象的SHA1哈希的Git命令

4
使用命令git show-ref --tags,我可以看到所有标签和这些标签对应的SHA1哈希值。
我想要一个类似的命令来输出所有树对象的SHA1哈希值,但不包括其他任何内容。

你需要这个做什么? - michas
只是探索Git对象,以更好地理解Git的工作原理。 - rlandster
2个回答

2
您可以从HEAD指针访问所有对象。
git ls-tree -r -t HEAD

因此,您可以使用 sedawk 进行过滤,以便仅查找树状对象,例如:

git ls-tree -r -t HEAD | awk '$2 == "tree" { print $0 }'

2
git rev-list --all --objects     |     # everything reachable, with path
cut -d' ' -f1                    |     # don't want the path
git cat-file --batch-check       |     # append type and size
awk '$2=="tree"'                       # just the trees

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接