1. ホーム
  2. git

git で削除されたファイルに対する diff を抑止する

2023-09-20 09:15:37

質問

私のリポジトリのローカルな変更の概要を素早く把握したいのですが、一行ごとにマイナスがつくので、削除されたファイルを表示する diff は欲しくありません。

基本的に、私は以下のようなものが欲しいです。 'git diff HEAD <list of modified files only>' . 理想的な世界では、削除および追加されたファイルのリストが先行し、それらの中の差分は表示されません。

私は、これを行うユーティリティを書くためのほとんどの方法をとっていました。

git diff HEAD `git status | grep modified | cut -d : -f 2`

を実行したとき、代わりに何かgit的な方法があるのではと思いました。私が見逃しているフラグがあるのでしょうか?カラー出力も保存したいのですが。

どのように解決するのですか?

Git バージョン 1.8.5 以降では、これを行うために --diff-filter オプションを使い、削除されたファイルを除外するように "d" (小文字) を指定します。

$ git diff --diff-filter=d

1.8.5 より前のバージョンの Git では、この処理を行うには --diff-filter オプションを使い、"D" (削除済み) の基準以外を指定することができます。

$ git diff --diff-filter=ACMRTUXB