Я использую git diff --name-status
для отслеживания, какие файлы были изменены/добавлены/удалены/переименованы/скопированы между двумя коммитами, и он отлично работает.
Теперь предположим, что я перемещаю файл file1
в newdir/file1
, фиксирую, а затем запускаю git diff, я получаю следующее:
$ git diff --name-status -C HEAD~1 HEAD
R100 file1 newdir/file1
Есть ли способ попросить git ограничить себя списком изменений внутри данного каталога, но не его дочерними? Я хотел бы узнать точные изменения как для корневого каталога, так и для каталога newdir
, отдельно. Для newdir
легко:
$ git diff --name-status -C HEAD~1 HEAD -- newdir
A newdir/file1
... но как я могу получить "дополнительную" информацию diff в корневом каталоге? I.e., этот выход:
$ git diff ???
D file1
Обратите внимание, что я хочу сохранить параметр -C
для обнаружения переименований и копий внутри одного каталога.