2013-03-25 4 views
324

コマンドラインgitを使って、リポジトリ内で追跡されているファイルのリストをgitに表示させるにはどうすればいいですか?どのようにしてgitに、追跡中のファイルのリストを表示させることができますか?

+2

[ローカルのgitリポジトリのリストファイル?](http://stackoverflow.com/questions/8533202/list-files-in-local-git-repo) –

+0

私はそれが信じています。しかし、これはより良い答えがある場合、これをdupとマークするのは正しいと感じません。 – lindhe

+2

というパラレルユニバースでは、[この質問](https://superuser.com/q/429693/571125)にすべての答えがどのように似ているのか、それぞれに独特の才能が似ていることは驚きです。 –

答えて

392

あなたは現在のブランチmasterの下で追跡されているすべてのファイルを表示したい場合は、このコマンドを使用することもできます。

git ls-tree -r master --name-only 

あなたは(つまり、削除されたファイルを含む)、これまで存在していたファイルのリストが必要な場合: gitのが管理し

git log --pretty=format: --name-only --diff-filter=A | sort - | sed '/^$/d' 
+26

git ls-tree -r HEAD - 現在のブランチのファイルを一覧表示する場合にのみ使用します。 – Ramast

+1

ディレクトリがリストにないのはなぜですか? – Shuzheng

+7

@NicolasLykkeIversen - 'git'はディレクトリを直接バージョン化しません。代わりに、ファイルとそのパスを格納します。 'ls-tree'はバージョン管理されたすべてのファイルを出力します。この区別をよりよく理解するには、空のディレクトリを 'git'にステージングしてみてください。空のディレクトリは、段階的な変更に決して現れません。そのような空のディレクトリをバージョンする唯一の方法は、実際にディレクトリの下にファイルをバージョンすることです。バージョンコントロールにこのような空のプレースホルダディレクトリが必要な場合は、ディレクトリの下にダミーファイルを作成し、そのバージョンを作成することができます。私はその説明がはっきりしていることを望む。 – Tuxdude

132

ファイルがgit ls-filesで示されています。そのマニュアルページを調べてください。

+2

現在のディレクトリ以下のファイルしか表示されないようです。 –

+6

これを編集してマニュアルページの関連するセクションを含めることはできますか? –

+0

@ NathanBasaneseおそらくその情報を使って別の回答を追加することができます。 –

関連する問題