Git diff: Показать только diff для файлов, которые существуют в обеих коммитах
Есть ли способ использовать git diff
, чтобы получить разницу между двумя коммитами, но показывать только diff для файлов, которые существуют в обеих коммитах?
У меня есть ветвь, которую я создал пару недель назад, и наш основной код уже немного от нее отстал. В результате, если я выполняю разницу между моим текущим HEAD и кончиком старой ветки, я получаю десятки измененных файлов, но в основном это просто шум.
То, что я действительно хочу видеть, - это diff, который показывает только файлы, которые существуют в обеих ветвях. Я знаю, что одним из способов сделать это будет вишня - выбрать, что другая ветка берет верх над текущей HEAD, но есть ли способ сделать это, просто используя git diff
?
Ответы
Ответ 1
Выполняет ли то, что вы хотите?
git diff --diff-filter=M commitA commitB
Опция M
для --diff-filter
говорит только о том, чтобы включать файлы, которые могут быть изменены между двумя коммитами: те, которые существуют только в одной ветки или другой, будут выбраны с помощью A
( "добавлено" ) или D
( "deleted" ).
Вы можете видеть, какие файлы будут выбраны с этими буквенными кодами, выполнив:
git diff --name-status commitA commitB
... и есть дополнительная информация обо всем этом в документации git diff
.