Gitで、任意のコミットオブジェクトのtreeオブジェクトを確認する方法

git cat-file -p を使うと、コミットオブジェクトの中身を詳細に見ることができます。
そのなかにtreeオブジェクトのハッシュ値があります。
$ git cat-file -p (任意のコミットハッシュ値またはブランチ名またはタグ名)

tree 3c61a337a01dced3dc036da81fbd0ab25117066e
parent befae2c24ad7986893556a4eb4508f173d71c983
author DQNEO <dqneo@example.com> 1351382216 +0900
committer DQNEO <dqneo@example.com> 1351382216 +0900

bugfix!
treeオブジェクトのハッシュ値なんぞ何に使うのか?
git ls-treeの引数として渡すとディレクトリエントリを見ることができるのです。
$ git ls-tree 3c61a337
100644 blob 1581a8cbc95246dbfbf6450b4a827542e84b5bbf    .gitignore
100644 blob 278d0c4454b81d3e621ce2bb58eea90a62222dc1    hello.c
040000 tree c54fb5811f174a0c6c5a0239f3124f3583b10c73    sample
100644 blob c3bc4e595222dbc42919de108a4a8c40c0bb343e    tetris.c
100644 blob 10ba390221233c4c81e6d087a666a8521d7d3d2b    tetris.h
過去のリビジョンのディレクトリ構造がどうなっていたかを見るのに便利です。
カテゴリ: