понедельник, 12 октября 2015 г.

Glob - шаблоны в .gitignore

Для определения какие файлы в папке должны игнорироваться git-ом, создается файл .gitignore. В котором применяются glob - шаблоны. То что под катом, это краткая дока по glob-шаблонам для тех, кто не работает в *nix системах. Т.е. для меня.

Начну с того, что строка может содержать имя файла или директории. В этом случае шаблоном она являться не будет. Например, если у меня в папке с решением лежит папка .vs, то я могу в файле .gitignore прямо так и написать .vs. И эта папка будет игнорироваться.
Glob шаблоном является строка содержащая один из символов "?", "*" или "[".
"?", "*" пока они не в квадратных скобках работают весьма привычно. "?" - любой символ, "*" - любая последовательность символов. А вот квадратные скобки задают классы символов.
Класс символов позволяет задать что на этой позиции будет находится символ принадлежащий классу или (если после открывающейся скобки идет восклицательный знак "!") не принадлежащий классу.
Классы задаются перечислением, либо диапазонами.
[abc] - любой из символов a, b, c.
[a-c] - любой из символов находящихся между a и c. Т.е. те же три символа a, b, c.
[a-c1-3] - любой из символов a, b, c или цифра от 1 до 3.
[!abc] - любой символ кроме букв a, b, c.
Если в класс должны входить закрывающаяся скобка "]", то она должна идти первой в классе:
[]a-c] - закрывающаяся скобка или любой из символов a, b, c.
Если в классе необходимо использовать "-" именно как символ, то он должен стоять на первой или последней позиции.
[]-] - соответствует двум символам: "]" и "-"
[--/] - соответствует  трем символами: "-", "." и "/".
Ну и пара примеров.
Игнорируем все что начинается с точки (файлы и папки):
В папках RobotsBattle и RobotsBattleConsole есть папки bin и debug. Мне эти папки надо исключить:

Комментариев нет:

Отправить комментарий