Синтаксис gitignore

Рассмотрим использование gitignore на примере проекта wordpress. Для начала перечислим правила синтаксиса:

  • Одна строка = одно правило
  • # - комментирует строку
  • Пустые строки игнорируются
  • / - каталог где находится файл gitignore
  • * - заменяет 0 и более символов
  • ? - заменяет 0 или 1 символ
  • /**/ - любые папки
  • ! - логическое "НЕ", применяется для исключения файлов и папок из общих правил
  • \ - экранирование символов
  • Для игнорирования всей директорий правило должно оканчиваться на слеш, иначе гит будет думать что это название файла.

В первую очередь, нужно добавить правила для системных файлов и файлов проектов IDE, в моем случае это может быть phpStorm или Sublime text (плагин ProjectManager).

# Для phpStorm
  .idea

# Для Sublime Text
  *.sublime-project
  *.sublime-workspace
  *.cache

# Сам файл gitignore
  .gitignore

Хранить в репозитории изображения считается плохой практикой, поэтому исключаем их, а также документы:

*.jp?g
*.png
*.gif
*.svg
*.pdf
*.xls?

Далее нам надо исключить из проекта файлы движка wordpress. Тут вариантов может быть несколько, я приведу тот, которым пользуюсь сам:

/public/*
/wp-content/*
!/wp-content/
/wp-content/themes/*
!/wp-content/themes/
/wp-content/themes/папка_темы/*
!/wp-content/themes/папка_темы/
!/wp-content/themes/папка_темы/*

Давайте разберемся, что тут происходит и зачем столько строк. У gitignore есть такая особенность, что нельзя в исключения добавить папку, если родительская папка игнорируется. Поэтому мы добавляем все файлы внутри папки /wp-content/*, а затем снимаем игнор с этой папки. При этом содержимое будет продолжать игнорироваться. И так каждый уровень вложенности. Файлы на соответствующем уровне добавляются в игнор, а сама папка перестает игнорироваться.

Почитайте также Как развернуть репозиторий на Github.

© 2016 — 2020. При копировании материалов обязательна активная индексируемая ссылка на источник.