Правила синтаксиса файла .gitignore
В этой статье будут приведены примеры редактирования файла .gitignore и дан поный список правил синтаксиса.
Правила синтаксиса
- Одна строчка - одно правило,
- Пустые строки игнорируются,
- Комментарии доступны через решётку(#) в начале строки,
- Символ "/" в начале строки указывает, что правило применяется только к файлам и папкам, которые располагаются в той же папке, что и сам файл .gitignore,
- Доступно использовать спецсимволы: звёздочка(*) заменяет любое количество символов(ноль или больше), вопросик(?) заменяет от нуля до одного символа. Можно размещать в любом месте правила,
- Две звёздочки(**) используются для указания любого количества поддиректорий, подробнее смотри ниже в примерах,
- Восклицательный знак(!) в начале строки означает инвертирование правила, необходим для указания исключений из правил игнорирования,
- Символ "\" используется для экранирования спецсимволов, например, чтобы игнорировать файл с именем "!readme!.txt", нужно написать такое правило: "\!readme!.txt",
- Для игнорирования всей директории, правило должно оканчиваться на слэш(/), в противном случае правило считается именем файла.
Пример файла .gitignore
# Игнор-лист файлов проекта # Игнорировать ВСЕ файлы и директории, включая поддиректории и файлы в них * # ---- ФАЙЛЫ ---- # Игнорирование по типу файла, будут игнорироваться в АБСОЛЮТНО всех директориях # Например /files/data.zip, /server.log, /uploads/users/data/info.xls *.zip *.log *.pdf *.xls # Игнорирование файла во ВСЕХ директориях # Например /params/db/config.php, /config.php config.php # Игнорирование конкретного файла ТОЛЬКО в корне проекта # (корнём считается расположение файла .gitignore) # Например НЕ БУДЕТ проигнорирован файл /db/config.php /config.php # Игнорирование конкретного файла ТОЛЬКО в указанной директории # Например НЕ БУДЕТ проигнорирован файл /prod/params/config.php /params/config.php # ---- ДИРЕКТОРИИ ---- # Игнорирование всех файлов и папок ТОЛЬКО в конкретной директории(включая поддиректории и файлы в них) # Например /images/user.jpg, /images/company/logo.png # НЕ БУДУТ проигнорированы файлы и папки /prod/images/user.jpg /images/* # Игнорирование всех файлов и папок в ЛЮБЫХ директориях с указанным именем # Например /images/user.jpg, /core/images/user.jpg images/* # Игнорирование ВСЕХ html-файлов в ОДНОЙ КОНКРЕТНОЙ директории(НЕ ВКЛЮЧАЯ поддиректории) # Например /private/index.html # НЕ БУДУТ проигнорированы файлы в /private/ivan/index.html /private/*.html # Игнорирование ВСЕХ html-файлов в КОНКРЕТНОЙ директории ВКЛЮЧАЯ поддиректории # Например /private/info.html, /private/users/ivan/info.html /private/**/*.html # ---- РАЗНОЕ ---- # Исключение из игнорирования # Игнорирование ВСЕХ файлов и папок внутри директории /secret, # за исключением файла /secret/free.txt, он не будет проигнорирован /secret/* !/secret/free.txt # Игнорирование файла с именем, содержащим спецсимволы # Например !readme!.txt \!readme!.txt # Игнорирование всех JPG и JPEG файлов внутри директорий, # которые начинаются на "h" и МОГУТ содержать ещё один символ после # Например /images/h4/user.jpg, /images/h/company.jpeg /images/h?/*.jp?g
0 Комментарии