Git diff --name-only: вывести список изменённых файлов

Категория: Git · Язык: Bash · Обновлено:

Чтобы получить имена файлов без строк diff, используйте git diff --name-only. Для staged-изменений добавьте --cached, а чтобы видеть добавления и удаления вместе с именами, выберите --name-status.

Рабочий пример

Bash
git diff --name-only
git diff --cached --name-only
git diff --name-status main...HEAD
git diff --name-only -z

A, M и D в --name-status означают добавленный, изменённый и удалённый путь. Три точки сравнивают общий предок веток с HEAD, а -z выводит NUL-разделители для скриптов.

Частый вопрос

Почему git diff --name-only пустой?

Изменения могут быть уже staged. Проверьте отдельно git diff --cached --name-only и git status --short.