2013-05-09 123 views
4

使用命令git show-ref --tags我可以看到所有这些标签的所有标签和SHA1哈希值。Git命令列出所有树对象的SHA1哈希值

我想要一个类似的命令树:一个命令输出所有树对象的所有SHA1散列,但没有别的。

+0

你需要做什么? – michas 2013-05-09 23:18:10

+0

只是为了更好地理解git的工作原理,探索git对象。 – rlandster 2013-05-09 23:37:20

回答

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