Ігнараванне файлаў у Git

У праектах часта сустракаюцца файлы, якія мы не хацелі б захоўваць у сістэме Git. Гэта могуць быць часовыя файлы, якія ствараюцца вашым кодам, файлы з кэшам, а таксама файлы з паролямі.

Мы можам прымусова прымусіць Git ігнараваць такія папкі і файлы. Гэта робіцца з дапамогай спецыяльнага файла .gitignore, які размяшчаецца ў папцы з вашым праектам.

У гэтым файле на кожным радку трэба пісаць шлях да файла або папкі, якія мы хочам ігнараваць. Давайце паглядзім на прыкладах, які тут дапушчальны сінтаксіс.

Прыклад

Касая рыса перад імем файла адпавядае файлу ў корані рэпазіторыя:

text/debug.log

Для прыкладу будуць праігнараваны наступныя файлы:

Але не:

Прыклад

Без косай рысы ў пачатку будуць ігнаравацца файлы і ў папках:

textdebug.log

Для прыкладу будуць праігнараваны наступныя файлы:

Прыклад

Без косай рысы ў канцы будуць ігнаравацца і файлы без пашырэння, і папкі з такім імем:

textlogs

Для прыкладу будуць праігнараваны наступныя файлы:

Прыклад

З косай рысай у канцы будуць ігнаравацца толькі папкі:

textlogs/

Для прыкладу будуць праігнараваны наступныя папкі:

Прыклад

Две зорачкі ў пачатку папкі прымусяць ігнараваць усе папкі якія змяшчаюць такую папку ў шляху:

text**/logs

Для прыкладу будуць праігнараваны наступныя файлы:

Прыклад

Дзве зорачкі можна таксама выкарыстоўваць для супастаўлення файлаў на аснове іх назвы і назвы бацькоўскай папкі:

text**/logs/debug.log

Для прыкладу будуць праігнараваны наступныя файлы:

Але не:

Прыклад

Адна зорачка — гэта шаблон, які можа адпавядаць як некалькім сімвалам, так і ніводнаму:

text*.log

Для прыкладу будуць праігнараваны наступныя файлы:

Прыклад

Даданне клічніка ў пачатак шаблону адмяняе дзеянне шаблону. Калі файл адпавядае нейкаму шаблону, але пры гэтым таксама адпавядае адмяняючаму шаблону, указанаму пасля, такі файл не будзе ігнаравацца:

text*.log
!important.log

Для прыкладу будуць праігнараваны наступныя файлы:

Але не:

Прыклад

Знак пытання адпавядае строга аднаму сімвалу:

textdebug?.log

Для прыкладу будуць праігнараваны наступныя файлы:

Але не:

Прыклад

Квадратныя дужкі адпавядаюць аднаму сімвалу з указанага набору:

textdebug[01].log

Для прыкладу будуць праігнараваны наступныя файлы:

Але не:

Прыклад

Квадратныя дужкі можна таксама выкарыстоўваць для ўказання адпаведнасці аднаму сімвалу з зададзенага дыяпазону:

textdebug[0-9].log

Для прыкладу будуць праігнараваны наступныя файлы:

Але не:

Прыклад

Клічнік можна выкарыстоўваць для ўказання адпаведнасці любому сімвалу, акрамя сімвалаў з указанага набору:

textdebug[!01].log

Для прыкладу будуць праігнараваны наступныя файлы:

Але не:

Прыклад

Дыяпазоны могуць быць лічбавымі або літарнымі:

textdebug[a-z].log

Для прыкладу будуць праігнараваны наступныя файлы:

Але не:

Прыклад

Дзве зорачкі адпавядаюць мноству каталогаў або ніводнаму:

textlogs/**/debug.log

Для прыкладу будуць праігнараваны наступныя файлы:

Прыклад

Шаблоны можна выкарыстоўваць і ў назвах каталогаў:

textlogs/*day/debug.log

Для прыкладу будуць праігнараваны наступныя файлы:

Але не:

Практычныя задачы

Задание 1

Зрабіце так, каб ігнараваліся файлы з папкі cache.

Задание 2

Зрабіце так, каб ігнараваліся файлы з папак cache і tmp.

Задание 3

Зрабіце так, каб ігнараваўся файл err.txt і папка tmp.