Я хотел бы получить список только поэтапных имен файлов. Я не могу найти эквивалентный флаг --name-only
для git status
команды. Какая альтернатива?
Список файлов будет передан в php -l
(средство проверки синтаксиса PHP lint).
Решение: полная команда
git diff --name-only --cached | xargs -l php -l
git
git-status
Уорд Беккер
источник
источник
Ответы:
Используйте
git diff --name-only
(с,--cached
чтобы получить поэтапные файлы)источник
Принятый ответ не позволит вам узнать, какие были изменения .
Да, если вы не специалист по проверке синтаксиса, а обычный человек с репозиторием, полным неустановленных файлов, и вы все еще хотите знать, что будет с постановочными файлами - есть еще одна команда:
что приводит к чему-то вроде:
Очевидно, что эти файлы были постановочными, и после
git commit
:deleted_file
будут удалены,new_file
добавлены,renamed_file
станутrenamed_to
.Вот объяснение вывода в коротком формате: https://git-scm.com/docs/git-status#_short_format
источник
Вдохновленный ответом @ coffman21 , я установил следующий псевдоним в своем
.zshrc
alias gst="git status" alias gst-staged="git status --short | grep '^\w'" alias gst-unstaged="git status --short | grep '^\W'" alias gst-unstaged-tracked="git status --short | grep '^\s'" alias gst-untracked="git status --short | grep '^??'"
Это может быть полезно кому-нибудь еще. Так что добавляем его в стопку ответов.
источник
.
в Grep, чтобы цвет как 2 начальных символов, как:grep '^\w.'
,grep '^\W.'
,grep '^\s.'
для просмотра поэтапных файлов с изменениями кода
или используя --cached, который является синонимом --staged
или для просмотра только имен файлов без изменения кода
git-diff руководство
источник