Ответ 1
Используйте git diff --name-only
(с --cached
, чтобы получить поэтапные файлы)
Я хотел бы получить список только поэтапных имен файлов. Я не могу найти эквивалентный флаг для --name-only
для команды git status
. Какая хорошая альтернатива?
Список файлов будет перенаправлен на php -l
(проверка синтаксиса PHP lint).
Решение: полная команда
git diff --name-only --cached | xargs -l php -l
Используйте git diff --name-only
(с --cached
, чтобы получить поэтапные файлы)
Принятый ответ не даст вам знать, какие изменения были.
Да, если вы не проверяете синтаксис, а являетесь обычным человеком с хранилищем, полным неразмеченных файлов, и вы все еще хотите знать, что произойдет с подготовленными файлами - есть другая команда:
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