2016-03-23 4 views
2

ツリーオブジェクトにメモを添付したいと思います。しかし、そうするためには、最初にツリーオブジェクトのハッシュを知る必要があります。私のリポジトリに含まれている特定のディレクトリ名については、そのツリーにノートを添付するために、そのツリーのオブジェクトのハッシュを取得するにはどうすればよいですか?指定されたディレクトリ名のツリーハッシュを取得するには?

this answerを読んでから、私はルートツリーの内容を一覧表示する

git cat-file -p master^{tree} 

を使用することができます理解し、私はまだ取得するために再帰的にネストされたツリーオブジェクトをディレクトリ名の出力をgrepし、フォローする必要があると思いますツリーオブジェクトのハッシュは、階層内のより深いディレクトリのためのものです。

基本的には、架空のget-tree-hash.shスクリプトの実装を探しています。

get-tree-hash.sh path/to/directory/in/my/git/repo 

のように呼び出された場合には、出力

The hash for the "repo" tree inside "path/to/directory/in/my/git" is: 
92a68a2f5560fa7080393b633e2afd1d5271deef 

答えて

4

ちょうど

git ls-tree HEAD -- path/to/directory/in/my/git | cut -d' ' -f3 | cut -f1 

は私が欲しいものを行い、自分自身をそれを考え出したはずです。

+0

私の答えで述べたように、 'ls-files -s'も使うことができます – CodeWizard

+0

' -s'はどのように役立ちますか?ステージに入ったコンテンツには興味がありません。 – sschuberth

+0

あなたが最初に誤解しています。 – CodeWizard

関連する問題