2012-04-10 18 views

答えて

14

git ls-treeはgit refsでのみ動作します。 ls-tree HEAD

Try git ls-files。おそらく-sおよび/または-mフラグが必要です。


あなたが指摘するように、git ls-files -sは、インデックス内のファイル(上演されている、すなわちファイル)が一覧表示されます。

理論的には、インデックスを混乱させる可能性があります。git ls-files -sを実行してから復元してください。

git commit 
git add . 
git ls-files -s 
git reset . 
git reset --soft HEAD^ 

右のように見えますが、簡単なテストで作業しましたが、すべてのファイルを食べることができました。

+0

ありがとうございます。私は適切に言えば、私が尋ねたことは不可能だと思う。その理由は、作業ディレクトリにファイルのハッシュオブジェクトがないからです。しかし、_index_については、 '-s'フラグを指定することによって、あなたが指摘したように、もちろんハッシュされたオブジェクトがあります。これはまったく同じ出力ではありませんが、私は他のgitコマンドの機能を改造したくはありません。 :) –

+0

あなたが示唆するように、 '-m'は望みの効果を持たないようです。私は索引ではなく作業ディレクトリーをリストに入れました。更新された回答をご覧ください。あなたの実際のデータでそれを行う前にテストしてください。 :-) – Mikel

関連する問題