2017-01-04 3 views
0

Имеется стандартный файл Visual Studio .gitignore here.Почему не создаются каталоги результатов сборки ** в VS .gitignore

Она включает в себя этот раздел:

# Build results 
[Dd]ebug/ 
[Dd]ebugPublic/ 
[Rr]elease/ 
[Rr]eleases/ 
x64/ 
x86/ 
bld/ 
[Bb]in/ 
[Oo]bj/ 
[Ll]og/ 

Почему эти строки не начать с gitignore pattern format**/ так, что поиск включает в себя все подкаталоги?

ответ

2

Относительные пути (как ваши имена в каталоге) уже игнорируются везде.

Если вы создаете структуру

foo/ 
    bar/x.txt 
bar/x.txt 

(где x.txt просто пушок иметь непустые каталоги)

и есть файл .gitignore, содержащий только

bar 

то git игнорирует как каталоги bar.

Абсолютные пути, такие как /bar, будут игнорировать только каталог верхнего уровня. Вы уверены, что видите другое поведение?

В документации вы связаны с этим содержит:

Два последовательных звездочки («**») в образцах сопоставляется полное имя пути может иметь особое значение:

лидирующую «**», за которой следует косая черта соответствует всем каталогам. Для примера «**/foo» соответствует файлу или директории «foo» в любом месте, тот же как шаблон «foo». «**/foo/bar» соответствует файлу или каталогу «bar» где угодно, прямо под каталогом «foo».

(курсив мой)

+0

Так же 'Foo/bar' отличается от' **/Foo/bar'? – dumbledad

+0

Нет, оба файла совпадают с файлом или каталогом (вам нужна конечная косая черта, если вы говорите только о каталогах) '' 'bar''' ниже' '' foo'''. –