2013-05-09 120 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