.gitignore для Битрикса
В техподдержке мы постоянно используем git в качестве системы контроля версий.
Для нас это очень важно, так как над одним проектом одновременно может работать десять программистов — и все они должны иметь возможность комфортно работать с сайтом и не мешать своим коллегам.
Гит хорош тем, что позволяет хранить все состояния кода, ветки разработки, сливать изменения нескольких разработчиков на сайт и откатывать результаты при возникновении ошибок.
Нам необходимо сохранять в гите весь важный код сайта и полностью исключать всё, что не имеет никакого значения. Если в систему контроля версий попадут лишние файлы, избавиться от них в их присутствия в индексе гита будет непросто.
Для этого мы настроили .gitignore-файл со следующим содержимым:
# Исключаем настройки PHPStorm, мы в нём работаем
/.idea/
# Исключаем папку /bitrix кроме некоторых подпапок
!/bitrix
/bitrix/*
# оставляем печатные формы интернет-магазина
!/bitrix/admin/
/bitrix/admin/*
!/bitrix/admin/reports/
# оставляем нестандартные компоненты
!/bitrix/components/
/bitrix/components/bitrix/
# сохраняем весь php_interface за редкими исключениями
!/bitrix/php_interface/
/bitrix/php_interface/dbconn.ph*
/bitrix/php_interface/after_connect*
/bitrix/php_interface/logs/
# сохраняем шаблоны сайта
!/bitrix/templates/
# исключаем логи
/local/php_interface/logs/
/local/logs/
# исключаем загружаемые файлы
/upload/
# различные системные папки и файлы хостингов и операционных систем
/cgi-bin/
/awstats/
/webstat/
.DS_Store
.Spotlight-V100
.Trashes
Thumbs.db
ehthumbs.db
# исключаем все текстовые и подобные ресурсы (на нашей практике они всегда излишни)
*.xml
*.html
*.txt
*.log
*.css.map
# архивы, включая многотомные
*.zip
*.zip*
*.tar
*.tar*
*.enc
*.enc*
*.gz
*.gz*
*.tgz
*.tgz*
*.sql
*.rar
.hg
.ftpconfig
*.doc
*.docx
*.pdf
*.rtf
*.xls
*.xlsx
*.ppt
*.pptx
*.psd
*.psb
*.sketch
core.*
# однако храним robots.txt — он нужен
!/robots.txt
# composer
composer.phar
/vendor/
# исключаем всякое от node.js
node_modules
bower_components
.grunt
.npm
.env
# и логи xhprof напоследок
/xhprof/logs
Благодаря тому, что к нам в техподдержку попадают самые различные проекты, мы оперативно дополняем данный файл новыми исключениями и внимательно следим за его актуальностью.
Здесь может возникнуть несколько дискуссионных моментов:
- Мы исключаем из гита .html, .xml, .txt-файлы. Хотя в ряде случаев они могут быть важны, мы решили, что такие случаи достаточно редки.
Если подобный файл нужно внести в гит, мы добавляем его в исключения. - Мы исключаем стандартные компоненты Битрикса, однако оставляем все остальные компоненты — в том числе компоненты маркетплейса.
Это продиктовано практикой: пользы от этого оказалось больше, чем вреда.
партнёр
Битрикса
на рынке
в течение
30 минут
человек
в штате
Золотой
партнёр
Битрикса
9 лет
на рынке
Реагируем
в течение
30 минут