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

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

Ответов (3)

Решение

Использовать этот:

git status -uno

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

git status --untracked-files=no

Это немного скрыто в руководствах, но на странице руководства для статуса написано, что «поддерживает те же параметры, что и git-commit», так что вам следует искать именно здесь.

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

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

См. Коммит https://github.com/git/git/commit/5823eb2b28696bf0eb25f6ca35b303447869f85 :

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

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

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

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

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

Также:

git config status.showuntrackedfiles no