Как сделать статус git показать только поэтапные файлы

Я хотел бы получить список только поэтапных имен файлов. Я не могу найти эквивалентный флаг для --name-only для команды git status. Какая хорошая альтернатива?

Список файлов будет перенаправлен на php -l (проверка синтаксиса PHP lint).

Решение: полная команда

git diff --name-only --cached | xargs -l php -l

Ответы

Ответ 1

Используйте git diff --name-only--cached, чтобы получить поэтапные файлы)

Ответ 2

Принятый ответ не даст вам знать, какие изменения были.

Да, если вы не проверяете синтаксис, а являетесь обычным человеком с хранилищем, полным неразмеченных файлов, и вы все еще хотите знать, что произойдет с подготовленными файлами - есть другая команда:

git status --short | grep '^[MARCD]'

что приводит к чему-то вроде:

M  dir/modified_file
A  dir/new_file
R  dir/renamed -> dir/renamed_to
C  dir/copied_file
D  dir/deleted_file

Очевидно, эти файлы были поставлены и после git commit:
deleted_file будет удален,
new_file будет добавлено,
renamed_file станет renamed_to.

Вот объяснение вывода в коротком формате: https://git-scm.com/docs/git-status#_short_format