web-dev-qa-db-ja.com

変更されたすべてのファイルをGitコミット間の変更ステータスとともにリストします(追加、変更、削除)

次のコマンドを定期的に使用して、2つのコミット間で変更されたファイルを一覧表示します。

git diff --name-only SHA1 SHA2

次のようなファイルのリストが表示されます。

/src/example/file1 
/src/example/file2 
/src/example/file3 

これがいかに役立つか、終わりはほとんどありません。

ファイルが追加、変更、または削除されたかどうかを示す変更ステータスへの簡単な参照を各ファイルの横に表示できるようにしたいのですが

これは概念を示す例です:

git diff --name-only --and-how-me-the-change-status SHA1 SHA2
 A /src/example/file1
M /src/example/file2
D /src/example/file3

変更ステータス(A、M、D)は単なる例として示されています。明確である限り、これが何であってもかまいません。

--diff-filterオプションを使用して、追加されたファイルのみ、または変更されたファイルのみ、または削除されたファイルのみを一覧表示できることを知っています。このオプションを使用すると、3つのコマンドを実行して、ファイル名の3つのリストを取得する必要があります。これはいいですが、もっといいかもしれません。

上記の出力例を提供するために実行できる単一のコマンドはありますか?

30
Jon Cram

--name-statusを使用します。これは--name-onlyと同じで、変更されたファイルのステータスも含まれます。

git diff --name-status SHA1 SHA2