1. ホーム
  2. git

[解決済み] コミットに含まれるすべてのファイルを一覧表示するにはどうすればよいですか?

2022-03-16 23:30:18

質問

余計な情報を排除して、コミットに含まれるすべてのファイルをハッシュ (SHA-1) で指定して、きれいに整形した一覧を提供するシンプルな Git コマンドを探しています。

試してみました。

git show a303aa90779efdd2f6b9d90693e2cbbbe4613c1d

ファイルをリストアップしていますが、それぞれのファイルの不要な差分情報も含まれています。

他に git コマンドは、私が欲しいリストだけを提供し、それを git show を出力しますか?

解決方法は?

望ましい方法 (なぜなら、それは 配管 コマンドで、プログラム的であることを意味します)。

$ git diff-tree --no-commit-id --name-only -r bd61ad98
index.html
javascript/application.js
javascript/ie6.js

もうひとつの道 (スクリプトの場合はあまり好まれませんが、これは ポーセリン コマンドで、ユーザーと対面することを意図しています)

$ git show --pretty="" --name-only bd61ad98    
index.html
javascript/application.js
javascript/ie6.js


  • --no-commit-id はコミットIDの出力を抑止します。
  • --pretty 引数で空の書式文字列を指定することで、冒頭のくだりを回避することができます。
  • は、その --name-only 引数は、影響を受けたファイル名のみを表示します(Thanks Hank)。使用方法 --name-status の代わりに、各ファイルに何が起こったかを確認したい場合は、 ( D を削除しました。 M を修正しました。 A を追加しました。)
  • -r 引数は、サブツリーへの再帰的な