5
変更のタイプでgit diffをフィルタリングする
git diff変更されたファイルに制限する方法はありますか? 2つのコミットの違いを見たいのですが、どちらか一方に存在しないパス(追加/削除)は除外します。次のPerlワンライナーは、私が欲しいもののほとんどを示しています。 git diff master.. | perl -lnwe 'print unless /^(new|deleted) file/../^diff/ and not /^diff/' しかし、diff --git a/path b/pathそれによって、新規または削除されたファイルの行が残ります。加えて、パースする必要がなかった方がずっといいでしょう(たとえば、ハンクに/ ^ diff /と一致するものが含まれていると失敗します)。 私が試した別の選択肢は: git diff --name-status (args) | perl -lnwe 'print if s/^M\s+//' | xargs git diff (args) -- その出力はより良いですが、それでもハックに感じられます。