web-dev-qa-db-ja.com

gitで削除されたファイルの差分を抑制する

リポジトリのローカル変更の概要をすばやく取得したいのですが、削除されたファイルを表示する差分は必要ありません。すべての行がマイナスであるためです。

基本的には、'git diff HEAD <list of modified files only>'。理想的な世界では、削除されたファイルと追加されたファイルのリストが先行しますが、ファイル内の差分は表示されません。

私はこれを行うユーティリティを作成するほとんどの方法でした:

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

代わりにgit-yを使用する方法があるかどうか疑問に思いました。欠けているフラグはありますか?カラー出力も保存したいです。

61
Alex Feinman

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

 $ git diff --diff-filter = d 

1.8.5より古いGitバージョンでは、--diff-filterオプションを使用して、 "D"(削除済み)基準を除くすべてを指定することでこれを行うことができます。

 $ git diff --diff-filter = ACMRTUXB 
79
Dan Moulding

投稿とほぼ同じ回答Dan Moulding、しかしあなたはおそらくあなたが何を表示したいかしないでください表示したいでしょう、そして削除されたファイルを隠すためにはそれは次のようになります:

git diff --diff-filter=d
23
nktssh

git diff (-D|--irreversible-delete)は、削除されたファイルの別の本文を省略します。追加されたファイルに相当するものはないと思います。

22
Max Nanasy

移動されたファイルを検索する-Mを使用することもできます。

git diff -M -D 

moreは次のコマンドで詳細情報を取得できます:git diff --help(オプション-Bも興味深いかもしれません)

1
Sérgio