Created
December 4, 2020 22:16
-
-
Save cronfy/fd1050823404b8bc790eef675244bd07 to your computer and use it in GitHub Desktop.
типовой .gitignore для битрикса
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# .gitignore для сайтов на bitrix | |
# | |
# | |
# Файлы в репозитории должны храниться не все, а только некоторые. Основная цель: упростить процесс разработки. | |
# Для этого нужно: маленький репозиторий, который, тем не менее, включает в себя все нужное, и не чересчур | |
# сложный .gitignore. | |
# Небольшой размер репозитория ускоряет clone, коммиты и сборку для деплоя. Не очень сложный .gitignore | |
# упрощает его администрирование. | |
# Критерий: объем папки .git должен быть не более 100M, в идеале - не более 50M. | |
# | |
# Ниже присутствуют правила, которые помимо прочего исключают из репозитория контент (документы, изображения) | |
# или рекомендации так делать. Необходимость хранения/исключения контента из репозитория зависит от конкретной | |
# ситуации, требования могут предъявляться разные. Здесь предполагается, что контент по умолчанию в репозитории | |
# не хранится, что репозиторий используется только для хранения кода, а вопрос возможности восстановления | |
# исторических версий контента решается системой резервного копирования. | |
# | |
# Тем не менее, небольшие документы/изображения допустимо хранить в репозитории (чтобы не усложнять .gitignore), | |
# при соблюдении требований к размеру папки .git, указанных выше. | |
# | |
# Изображения шаблонов (элементы дизайна) хранятся в репозитории. | |
# | |
# Ядро bitrix/ не хранится в репозитории из-за большого количества/объема файлов, сложности администрирования. | |
# Предполагается, что ядро синхронизируется с боевым сервером rsync'ом или другими способами, а для отслеживания | |
# его изменений или возможности отката используется резервное копирование. | |
# | |
# Если папка .git после применения этого .gitignore получается слишком большой, нужно посмотреть, что еще можно | |
# исключить из репозитория и добавить эти исключения в соответствующую секцию в конец файла. Некоторые рекомендации: | |
# | |
# - документы (doc, pdf) - являются контентом, их либо можно вынести в upload/ (желательно изначально их | |
# туда и загружать), либо вручную поштучно исключить; | |
# - архивы (как правило это либо то же самое, что документы, либо просто временные файлы); | |
# - изображения - если это не изображения шаблона, а просто картинки сайта (контент), их имеет смысл | |
# перенести в upload/ так как это контент; | |
# - изображения шаблона - в том случае, если в шаблон случайно попали на самом деле не изображения шаблона, | |
# а контент страниц; | |
# - бэкапы; | |
# - старые папки/файлы (вида *_old), что в целом равнозначно бэкапам; | |
# - прочие файлы, которые генерируются (выгрузки, экспорты, карта сайта и т. п.); | |
# - логи, временные файлы, кеш. | |
# | |
# ИСКЛЮЧЕНИЯ | |
# | |
# Исключаем все файлы в корне проекта. Здесь часто лежат файлы, индивидуальные для окружения, где разворачивается | |
# сайт (Dockerfile, .env и пр.) и временные файлы для разработки (dump.sql и пр.). | |
/* | |
# Сам .gitignore нужен. | |
!/.gitignore | |
# Нужно содержимое www/ - мы хотим контролировать изменения страниц сайта. | |
!/www | |
!/www/* | |
!/www/** | |
# Исключаем bitrix/, там по большей части то, что хранить в репозитории нет необходимости (ядро Битрикс). | |
/www/bitrix/* | |
# Явно исключаем кеш и временные папки, на случай, если само ядро Битрикс все же будет храниться | |
# в репозитории. | |
/www/bitrix/managed_cache | |
/www/bitrix/stack_cache | |
/www/bitrix/cache | |
/www/bitrix/html_pages | |
/www/bitrix/tmp | |
# Храним php_interface - здесь размещается init.php и сопутствующий код, изменения которого нужно контролировать. | |
!/www/bitrix/php_interface | |
!/www/bitrix/php_interface/* | |
!/www/bitrix/php_interface/** | |
# Здесь хранятся настройки БД, исключаем. | |
/www/bitrix/php_interface/dbconn.php | |
# Таким образом, файлы, лежащие непосредственно в папке bitrix/ (например, settings.php), также оказались исключены. | |
# Так и задумано. | |
# Храним шаблоны сайтов. | |
!/www/bitrix/templates/ | |
!/www/bitrix/templates/* | |
!/www/bitrix/templates/** | |
# .htaccess на каждом сервере свой, исключаем. | |
# Если требуется хранить изменения .htaccess боевого сайта, его нужно хранитьв другом файле и устанавливать | |
# при деплое. | |
/www/.htaccess | |
# Часто используемая папка для временных файлов | |
/www/tmp | |
# Эти файлы постоянно изменяются. Их первоисточник - база данных, они могут быть в любой момент сгенерированы | |
# заново и на самом деле меняются практически каждый день, поэтому хранить в репозитории их нет смысла. | |
# файлы не | |
/www/sitemap_iblock* | |
/www/sitemap_files* | |
/www/sitemap.xml | |
/www/y-market/*.xml | |
# Слишком большой объем для хранения в репозиторий. Нужно также договариваться, чтобы менеджеры контента | |
# размещали здесь документы, изображения и прочее (часто они загружают документы прямо в корень сайта, | |
# что неудобно при работе с репозиторием). | |
/www/upload | |
# Архивы в корне сайта используются для передачи информации на сайт, это временные файлы. | |
/www/*.zip | |
/www/*.rar | |
/www/*.tar.gz | |
# Это импорт инфоблоков. Они будут исключены также маской архивов выше, но для большей ясности пусть | |
# для них будет полностью независимая запись в .gitignore. | |
/www/*_files | |
/www/*_files.zip | |
/www/*_files.tar.gz | |
# битрикс делает? | |
/www/.htaccess_back* | |
# Там мы будем называть свои временные скрипты для тестов и не будем хранить их в репозитории. | |
/www/dev-* | |
# Файлы, которые часто создают хостинги (и забывают удалить). | |
/www/.well-known | |
# | |
# Маски файлов. | |
# | |
# Эти файлы всегда игнорируем, так как в 99% случаев их не нужно хранить в репозитории. | |
# Для оставшегося 1% нужно прописать исключения вручную. | |
# логи | |
*.log | |
# Архивы (в том числе не в корне сайта), в большинстве случаев используются, чтобы что-нибудь загрузить. | |
# Это дублирует маски архивов выше, но так как комментарии разные, оставим для ясности. Если будет необходимость | |
# отключить глобальное исключение архивов, не отключатся продублированные выше более узкие исключения. | |
*.gz | |
*.bz | |
*.bz2 | |
*.tar | |
*.zip | |
*.rar | |
*.7z | |
# Операционки делают | |
.DS_Store | |
Thumbs.db | |
# vim | |
*.swp | |
*.swo | |
*.swq | |
# бэкапы | |
*.bak | |
*.BAK | |
# | |
# ИСКЛЮЧЕНИЯ ПРОЕКТА | |
# Далее можно добавлять исключения (или антиисключения), индивидуальные для проекта. | |
# | |
# Частые ситуации (раскомментировать при необходимости) | |
## composer | |
#!/composer.json | |
#!/composer.lock | |
## vendor/. Если процесс деплоя не предполагает полную сборку перед деплоем (проще говоря, "деплой через git pull"), | |
## приходится хранить его в репозитории. Не рекомендуется, но встречается. | |
#!/vendor | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment