Рассмотрим использование gitignore на примере проекта wordpress. Для начала перечислим правила синтаксиса:
В первую очередь, нужно добавить правила для системных файлов и файлов проектов 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.