2014-10-12 2 views
14

У меня проблема в моем .gitignore. Я хочу, чтобы он просто игнорировал каталог «vendor /», но игнорировал все каталоги с этим именем..gitignore игнорирует другие каталоги с тем же именем

Ниже мой .gitignore:

.idea/ 
bin/ 
vendor/ 
composer.lock 
composer.phar 

Ниже результат моего 'статус мерзавца':

Changes not staged for commit: 
   (use "git add <file> ..." to update what will be submitted) 
   (use "git checkout - <file> ..." to discard changes in working directory) 

modified: .gitignore 

Not monitored files: 
   (use "git add <file> ..." to include what will be submitted) 

src/vendor/ 
tests/src/ 
vendor/ 

Он также игнорирует 'SRC/поставщика', я не хочу, чтобы чтобы это произошло, я хочу, чтобы игнорировать 'поставщик /'

ответ

23

Из документов for Git Ignore

Ведущая косая черта соответствует началу пути. Например, /*.c соответствует cat-file.c, но не mozilla-sha1/sha1.c.

Попробуйте изменить vendor/ к /vendor/

+0

Спасибо! Это сработало отлично! –

1

От Git - gitignore Documentation:

«Если шаблон заканчивается косой чертой, он удаляется с целью последующего описания, но найти бы только совпадение с каталогом. Другими словами, foo/будет соответствовать каталогу foo и paths под ним, но не будет соответствовать регулярному файлу или символической ссылке foo (это согласуется с тем, как pathspec работает вообще в Git) ».

«Если шаблон не содержит косой черты /, Git рассматривает его как шаблон оболочки оболочки и проверяет соответствие имени пути относительно местоположения файла .gitignore (относительно верхнего уровня дерева работ, если а не из файла .gitignore). "

Просто удалите/

.idea 
bin 
vendor 
composer.lock 
composer.phar 
Смежные вопросы