Как мне выполнить 'git status', чтобы он не отображал невоспроизводимые файлы без использования .gitignore?

Как мне сделать git status, чтобы он не отображал необработанные файлы без использования .gitignore? Я хочу получить информацию о статусе модификации только для отслеживаемых файлов.

Ответ 1

Используйте это:

git status -uno

что эквивалентно:

git status --untracked-files=no

Он немного скрыт в руководствах, но manpage для статуса говорит: "поддерживает те же параметры, что и git -commit", так что там, где вам придется искать.

Ответ 2

также:

git config status.showuntrackedfiles no

Ответ 3

Обратите внимание, что поскольку git 1.8.3 (22 апреля 2013 г.), вы узнаете о --untracked-files=no, даже если вы не добавили эту опцию в первую очередь!

"git status" предлагает пользователям изучить возможность использования опции --untracked-files=no, если она занимает слишком много времени.

См. commit https://github.com/git/git/commit/5823eb2b28696bf0eb25f6ca35b303447869f85:

В некоторых репозиториях пользователи испытывают, что команда "git status" занимает много времени.
Команда тратит некоторое время на поиск файловой системы для файлов без следа.

Объясните компромисс, пораженный выбором по умолчанию normal, чтобы помочь пользователям сделать правильный выбор лучше, прежде чем говорить о переменной конфигурации.

В документации git status теперь говорится:

Если параметр -u не используется, отображаются незафиксированные файлы и каталоги (то же самое, что и указание normal), чтобы избежать забывания добавлять вновь созданные файлы.
Поскольку для поиска ненужных файлов в файловой системе требуется дополнительная работа, этот режим может занять некоторое время  время в большом рабочем дереве.
Вы можете использовать no для возврата git status быстрее, не показывая невоспроизведенные файлы
.

Значение по умолчанию можно изменить с помощью переменной конфигурации status.showUntrackedFiles, зарегистрированной в git config.