Список всех измененных файлов со статусом изменения между Git commits (добавлен, изменен, удален)

Я регулярно использую следующую команду для переименования файлов, измененных между двумя коммитами:

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 для перечисления только добавленных файлов или только измененных файлов или только удаленных файлов. Использование этого параметра означает, что я должен запустить три команды, чтобы получить три списка имен файлов. Это приятно, но может быть приятнее.

Есть ли одна команда, которую я могу запустить, чтобы дать мне вышеприведенный пример вывода?

Ответ 1

Используйте --name-status, это то же самое, что и --name-only плюс статус измененных файлов:

git diff --name-status SHA1 SHA2