Ответ 1
Используйте --name-status
, это то же самое, что и --name-only
плюс статус измененных файлов:
git diff --name-status SHA1 SHA2
Я регулярно использую следующую команду для переименования файлов, измененных между двумя коммитами:
git diff --name-only SHA1 SHA2
Он отображает несколько файлов примерно так:
/src/example/file1 /src/example/file2 /src/example/file3
Практически нет конца тому, насколько это полезно.
Мне бы очень хотелось показать вместе с каждым файлом краткую ссылку на статус изменения, указывающую, был ли добавлен, изменен или удален файл.
Вот пример, демонстрирующий концепцию:
git diff --name-only --and-how-me-the-change-status SHA1 SHA2
A /src/example/file1 M /src/example/file2 D /src/example/file3
Статус изменения (A, M, D) показан только в качестве примера, я не против того, что это такое, пока оно однозначно.
Я знаю, что я могу использовать параметр --diff-filter
для перечисления только добавленных файлов или только измененных файлов или только удаленных файлов. Использование этого параметра означает, что я должен запустить три команды, чтобы получить три списка имен файлов. Это приятно, но может быть приятнее.
Есть ли одна команда, которую я могу запустить, чтобы дать мне вышеприведенный пример вывода?
Используйте --name-status
, это то же самое, что и --name-only
плюс статус измененных файлов:
git diff --name-status SHA1 SHA2