Полный цикл в digital

Настройка Git для Битрикс

В битрикс большинство страниц хранятся как физические файлы на сервере, это дает нам возможность отслеживать их через гит.

В корне сайта из гит убираем .htaccess и robots.txt, в них часто прописывается хост сайта.

В корне сайта еще бывают файлы IDE разработчиков, xml карты сайта, некоторые любят дампы базы данных держать в кроне сайта, не пускаем всё это в гит.

Небольшой размер репозитория ускоряет git clone, коммиты и сборку для деплоя. Не очень сложный .gitignore упрощает его администрирование, объем папки .git должен быть не более 100M.

Ниже представлен .gitignore, который помимо прочего исключают из репозитория документы и изображения. Необходимость хранения/исключения контента из репозитория зависит от конкретной ситуации, требования могут предъявляться разные. Здесь предполагается, что контент по умолчанию в репозитории не хранится, что репозиторий используется только для хранения кода, а вопрос возможности восстановления исторических версий контента решается системой резервного копирования.

Ядро, которое хранится в папке bitrix не должно попасть в репозиторий, причина кроется в большом количестве файлов и сложности администрирования. Предполагается, что для отслеживания его изменений или возможности отката используется резервное копирование.

Выкладываю оптимальный .gitignore для Bitrix, который максимально отслеживает всё файлы и не видит ядро:

.gitignore# исключаем все файлы в корне проекта. Здесь часто лежат файлы, индивидуальные для окружения, где разворачивается сайт (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

# храним шаблоны сайтов
!/www/bitrix/templates/
!/www/bitrix/templates/*
!/www/bitrix/templates/**

# .htaccess на каждом сервере свой, если требуется хранить изменения .htaccess боевого сайта, его нужно хранить в другом файле и изменять имя при деплое
/www/.htaccess

# файлы постоянно изменяются, они могут быть в любой момент сгенерированы заново и на самом деле меняются практически каждый день, поэтому хранить в репозитории их нет смысла
/www/sitemap_iblock*
/www/sitemap_files*
/www/sitemap.xml

# исключаем все загруженные файлы
/www/upload

# маски файлов
*.log
*.gz
*.bz
*.bz2
*.tar
*.zip
*.rar
*.7z

Создание Git для сайта

Проще всего создавать гит, когда у вас только 1 сайт, а тестовые делать когда система управления версиями готова.

Когда у нас только один сайт, достаточно: в папке сайта инициализировать гит, установить гитигнор, добавить все файлы в гит, закоммитить.

  1. Установить гитигнор
  2. В корне сайта инициализировать гит
  3. Добавить все файлы в гит
  4. Закоммитить
Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!