Git:1。ブランチ内のすべてのファイルを一覧表示し、2。異なるブランチのファイルを比較します


88
  1. コミット/ブランチ内のすべてのファイルを一覧表示できる、ls -Rまたはのようなコマンドを探していdir/sます。
  2. 異なるブランチの2つのファイルを比較できるコマンドはありますか?

回答:


136
  1. git ls-tree -r --name-only <commit>(代わりに<commit>存在する可能性があります<branch>)。サブディレクトリに降りる前にサブディレクトリを一覧表示
    する-tオプションも使用することをお勧めします
  2. git diff <branchA>:<fileA> <branchB>:<fileB>
    または同じファイルを比較したい場合git diff <branchA> <branchB> -- <file>

4
特定のディレクトリを一覧表示する場合は、コロンの後にブランチへのパスを追加できます。例:git ls-tree -r --name-only master:directory / path / name
miller the gorilla

25

異なるブランチからの同じファイルを比較するには:

git diff branch_1..branch_2 file.txt

ツリーオブジェクト内のすべてのファイルを一覧表示するには:

git ls-tree -r branch

「git: 'ls'はgitコマンドではありません。'git--help 'を参照してください。」というメッセージが表示されます。そして私はgitv2.19.0を使用しています。
アンドリューS

1
それはただlsではありません、あなたは-tree最後に忘れました:)
DanLoewenherz18年

ああ、私はls-treeだと思いました。-treeはスイッチだと思いました。ありがとう。
アンドリューS

24

新しいブランチに追加されたすべてのファイルを一覧表示するには

git diff --name-only branch1 master

4
これには、新しいファイルだけでなく、変更されたすべてのファイルの名前のみが一覧表示されます。
メレディス

2

Gitv2.1.0以降[08/15/14]

リストするgit ls-filesために、現在のインデックス/作業ディレクトリにあるすべてのファイルを再帰的にリストするために使用できます。Git-SCM Docs / git-ls-filesを参照するか、Gitman git-ls-filesをインストールしてマニュアルページを利用できる場合は入力してください。

それはのようなさまざまな方法でファイルを表示するにはすてきなオプションがありcachedstageddeletedmodifiedignoredまたはothersのために追跡されていません。また、マッチングパターンもサポートしています。また、持つ--debug引数を、あなたは簡単に一覧表示することができcreation timemodification timeinode idowner & group idsizeおよびflagsファイルのため。


2つのブランチの差分についてgit diff <branch> <other branch>は、他の回答に記載されているように使用してください。


2

ブランチ内のファイルを一覧表示します git ls-files

  1. git-scmドキュメントでgit ls-files説明してみてください:
# Switch to <branch> of interest
$ git checkout <branch>
# List all files in <branch>
$ git ls-files

その他のオプションについては、ドキュメントを確認してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.