Я хочу игнорировать все файлы в моем хранилище, кроме тех, которые находятся в bin
подкаталоге. Я попытался добавить следующее к моему .gitignore
:
*
!bin/*
Однако это не дает желаемого эффекта: я создал новый файл внутри bin/
, но это git status
все равно показывает nothing to commit (working directory clean)
.
Какие-либо предложения?
Ответы:
Это игнорирует корневые файлы и корневые каталоги, а затем игнорирует корневой каталог bin:
Таким образом, вы получите весь каталог bin, включая подкаталоги и их файлы.
источник
/stuff/
и!/stuff/specific/
, но он по-прежнему игнорирует / вещи / конкретные /git check-ignore -v
сказал мне , что это из - за~/.gitignore
!/bin/
к своему корневому.gitignore
файлу, но затем я должен был добавить/bin/.gitignore
файл с!*
... Выполнение только одного из этих изменений не сработало. Это сработало только после объединения обоих изменений.Здесь, как игнорировать все, кроме одного каталога " MY_SUPER_DUPER_TEMPLATE_directory " в некотором каталоге
Структура: / bitrix / templates / MY_SUPER_DUPER_TEMPLATE_directory
источник
Вы должны исключить все на пути к пунктам назначения, но вы должны включить пункты назначения:
Примечание. Это файл исключения (например, .gitignore), поэтому логика инвертирована. Игнорировать все, кроме каталога tsp, игнорировать все в каталоге tsp, кроме каталога src ...
источник
Единственная проблема, с которой вы столкнулись, заключается в том, что сам
bin
каталог не соответствуетbin/*
шаблону, поэтому git даже не просматриваетbin
каталог.На ум приходят два решения.
.gitignore
:или
.gitignore
:bin/.gitignore
:Я предпочитаю второе решение, так как первое решение не прекратит игнорировать файлы в
bin
каталоге, которые находятся в подкаталогах, которые не вызываютсяbin
. Это может иметь или не иметь значения в вашей ситуации.источник
# Ignore everything * # But not these files... !/wp-content/ !/wp-content/plugins/ !/wp-content/plugins/my_plugin/ !/wp-content/plugins/my_plugin/*
в комментариях нет блочного кода?Из официального git doc один из примеров гласит:
Пример, чтобы исключить все, кроме определенной директории foo / bar (обратите внимание на / * - без косой черты подстановочный знак также исключит все, что находится внутри foo / bar):
Для объяснения о ведущем слеше: когда использовать ведущий слеш в gitignore .
источник
Попробуйте следовать в последней версии GIT.
источник
Я думаю, что лучшим способом было бы привязать каждый шаблон к верхнему каталогу git, запустив шаблон с косой чертой:
Вместо игнорирования всех файлов он будет игнорировать только файлы верхнего уровня, а не те, которые находятся в каталоге, который вы не хотите игнорировать.
источник
Это
.gitignore
работает для меня:источник
попробуйте эту неясную ошибку.
Надеюсь, поможет :)
Поддержка документации по git
PS: попробуйте сначала, прежде чем комментировать.
источник
Я должен был сделать это недавно:
Я не уверен, почему мне нужно две строки, чтобы исключить одну папку, но это то, что сработало для меня и macos.
источник