Есть ли способ ограничить git diff
измененными файлами?
Я хотел бы увидеть различия между двумя коммитами, но исключить пути, которых нет ни в одном, ни в другом (дополнения /делеции).Следующая однострочная строка 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) --
Его вывод лучше, но он все еще кажется хакерским.