2015-01-21 1 views
1

Относительный новичок в git, так что это может быть что-то довольно простое. С другой стороны, я искал вокруг этого ответа, прежде чем спрашивать.Что это значит, когда git показывает только каталог, содержащий невоспроизводимые файлы, но не сами файлы?

В моем репозитории git, если я создаю файлы в определенном подкаталоге (несколько уровней вниз от основного каталога репозитория) и запускаю git status, git не перечисляет файлы в этом каталоге, а просто его имя.

Я бы подумал, что это имеет какое-то отношение к тому, как много уровней вниз, но другие неподготовленные файлы в других подкаталогах имеют одинаковое количество уровней (или больше) без каких-либо проблем.

Кто-нибудь знает, есть ли какой-либо параметр или какая-либо запись в каком-либо файле где-нибудь, что может вызвать такое поведение?

+0

попробуйте 'git status -u --ignored'. также проверьте файл '.gitignore' – Himal

+0

Ну, теперь это прекращено, так как файлы в папке с заражением теперь перечисляются отдельно. Насколько я помню, я не вносил никаких изменений ни в каталог (кроме добавления/удаления файлов, чтобы попытаться выяснить, что происходит), или каких-либо из команд, которые я использовал. Кажется, какая-то случайная странность. Спасибо за вклад каждого! –

+0

Какую 'git -version' вы используете? Вы можете проверить свой '.gitconfig', чтобы узнать, есть ли там что-то там. – mgarciaisaia

ответ

2

Он не показывает файлы в невоспроизводимых каталогах по умолчанию из-за соображений производительности - он должен ls untracked directory, так как git не имеет индексации содержимого.

От git help status:

-u[<mode>]

--untracked-files[=<mode>]

Показать неотслеживаемые файлы.

Параметр mode не является обязательным (по умолчанию all) и используется для указания обработки неиспользуемых файлов.

Возможные варианты:

no - Показать не неотслеживаемые файлы

normal - Показывает неотслеживаемые файлы и каталоги

all - Также показаны отдельные файлы в неотслеживаемых каталогов.

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

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

Смежные вопросы