web-dev-qa-db-ja.com

裸のリポジトリのgit ls-files

裸のgitリポジトリにアクセスし、リポジトリ内のすべてのファイルを一覧表示したい。

通常のgitリポジトリでは、git ls-filesを実行することで簡単に実行できます。

出力例:

$ git ls-files
README.md
file1.js
file2.js
file3.js
folder1/file4.js
folder2/file5.js

裸のgitリポジトリでは、これは黙って失敗します。ファイルを返さないだけです(ただし、正常に終了します)。

$ cd my-bare-repository
$ git ls-files #returns nothing
$ echo $? #print exit code from previous command
$ 0

今、私は表示するために意味のあるブランチまたはマスターを提供する必要があることを認識しています。しかし、実際にリポジトリにあることがわかっているファイルのリストを実際に取得するにはどうすればよいですか?

33

ファイルをリストする他のコマンドを試すことができます:

git ls-tree --full-tree -r HEAD

このコメントへ によると、コマンド git ls-treebare repoで機能します。

51
VonC