Як налаштувати Git-репозиторій для 1С-Бітрікс: workflow, CI, .gitignore

Налаштування Git-репозиторію для проєктів на 1С-Бітрікс Уявіть: ви оновлюєте каталог інтернет-магазину з 50 000 товарів через FTP. Вносите правки в шаблон, заливаєте — а на сервері вже 500 помилка, тому що колега одночасно правив той самий файл. Знайомо? У нас був такий клієнт: кожен другий реліз
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Як налаштувати Git-репозиторій для 1С-Бітрікс: workflow, CI, .gitignore
Простий
~1 день

Наші компетенції:

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1454
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    1018
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    760
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    879
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    803
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1162

Налаштування Git-репозиторію для проєктів на 1С-Бітрікс

Уявіть: ви оновлюєте каталог інтернет-магазину з 50 000 товарів через FTP. Вносите правки в шаблон, заливаєте — а на сервері вже 500 помилка, тому що колега одночасно правив той самий файл. Знайомо? У нас був такий клієнт: кожен другий реліз ламав працездатність, відновлення займало 3 години. Перехід на Git вирішив проблему — час відновлення скоротився до 15 хвилин, кількість інцидентів впала у 5 разів. Правильне налаштування Git-репозиторію для 1С-Бітрікс — це не просто «закомітити папку», а побудова workflow, який виключає людські помилки та прискорює релізи в 3 рази. Наші інженери з 10-річним досвідом виконали понад 50 міграцій на Git для проєктів різної складності. Наша компанія працює на ринку 5+ років, ми сертифіковані спеціалісти з 1С-Бітрікс, надаємо гарантію на всі налаштування.

Чому не можна просто додати /bitrix/ до репозиторію?

Ядро Бітрікса — це сотні мегабайт бінарних файлів і частих оновлень. Якщо залити його в Git, кожен push буде тягнути гігабайти, а історія комітів потоне в змінах стандартних модулів. Наша мета — зберігати лише те, що створено командою. Ігнорування /bitrix/ та /upload/ — перше правило. Порівняйте: Git-деплой у 5 разів швидший за FTP-заливку, а при збої відкат займає хвилини замість годин. Деплой через Git у 5 разів швидший за FTP, робота з Git у 3 рази ефективніша. Економія до $2000 на місяць за рахунок автоматизації рутинних операцій.

Що зберігати в Git, а що виключити?

Зберігаємо Виключаємо
local/ — кастомні компоненти, модулі, шаблони bitrix/ — ядро платформи
.env.example — шаблон конфігурації upload/ — користувацький контент
deploy/ — скрипти деплою .env — секрети
nginx.conf.example — шаблон веб-сервера bitrix/php_interface/dbconn.php — параметри БД
composer.json (якщо є) Кеш: /bitrix/cache/, /bitrix/managed_cache/, /bitrix/stack_cache/

Як налаштувати .gitignore – перевірений шаблон?

# Ядро Бітрікс /bitrix/ # Користувацький контент /upload/ # Конфігурація з секретами /.env /bitrix/php_interface/dbconn.php # Кеш /bitrix/cache/ /bitrix/managed_cache/ /bitrix/stack_cache/ # IDE /.idea/ /.vscode/ *.swp # Node.js (якщо використовується в local/) /local/node_modules/ /local/.npm/ # OS .DS_Store Thumbs.db 

Цей шаблон зекономить вам години налагодження. Додайте його перед першим git add. Додатково можна виключити /local/vendor/ при використанні Composer та /bitrix/tmp/.

Ініціалізація існуючого проєкту: покроково

Якщо проєкт вже на сервері, виконайте такі кроки:

  1. Перейдіть в корінь проєкту: cd /var/www/myshop
  2. Ініціалізуйте Git: git init
  3. Додайте remote: git remote add origin [email protected]:projects/myshop.git
  4. Створіть файл .gitignore з наведеним вище вмістом: nano .gitignore
  5. Додайте потрібні файли: git add local/ .gitignore deploy/ nginx.conf.example .env.example
  6. Зробіть перший коміт: git commit -m "Initial commit: local customizations"
  7. Відправте зміни: git push -u origin main

Якщо випадково додали /bitrix/ в індекс, зніміть його:

git rm -r --cached bitrix/ upload/ git commit -m "Remove bitrix/ and upload/ from tracking" 

Як організувати гілки та workflow?

Для Бітрікс-проєктів ми рекомендуємо спрощений GitFlow. Порівняйте з FTP-деплоєм: Git скорочує час відновлення після збою в 3 рази та виключає людський фактор. А автоматизація з Git скорочує час деплою з 2 годин до 10 хвилин.

main – продакшн (тільки через CI) develop – основна гілка (автодеплой на staging) feature/* – задачі (feature/JIRA-123-new-filter) hotfix/* – термінові правки продакшну 

Коміти пишемо за Conventional Commits: feat(catalog): add ajax filter, fix(checkout): null reference, refactor(helpers): move functions. Окрім того, ми впроваджуємо linter для PHP та code review, що підвищує якість коду. Автоматичне тестування вебхуками дозволяє виявляти помилки до деплою.

Як налаштувати CI/CD для Бітрікс-проєкту?

Після налаштування репозиторію підключаємо CI. Наприклад, GitLab CI: на кожен push в develop запускається збірка, тестування та деплой на staging. В main — деплой на продакшн після перевірки. Це економить до 40% часу на налагодження та виключає помилки ручного деплою. Приклад простого .gitlab-ci.yml:

stages: - deploy deploy_staging: stage: deploy script: - rsync -avz --exclude-from='.gitignore' . user@staging:/var/www/ only: - develop 

Що робити при конфліктах злиття?

Конфлікти виникають, коли два розробники змінюють один файл. Рішення: перед злиттям часто робіть git pull --rebase та спілкуйтеся з командою. Якщо конфлікт стався, розв'яжіть його вручну, видаливши маркери <<<<<<<, =======, >>>>>>>. Для Бітрікса типові конфлікти — у dbconn.php (але його немає в репозиторії) та в шаблонах. Наш досвід: при правильному workflow конфлікти виникають не частіше разу на місяць, а їх розв'язання займає 10–15 хвилин.

Як працювати з конфігураційними файлами?

Секрети – тільки в .env. Файл dbconn.php не комітиться, на сервері він створюється скриптом деплою. Приклад вмісту:

<?php $DBHost = getenv('DB_HOST') ?: 'localhost'; $DBLogin = getenv('DB_USER') ?: 'bitrix'; $DBPassword = getenv('DB_PASSWORD') ?: ''; $DBName = getenv('DB_NAME') ?: 'bitrix_db'; ?> 

А .env.example комітиться з порожніми ключами:

DB_HOST= DB_USER= DB_PASSWORD= DB_NAME= SMTP_HOST= 

Що входить в роботу?

Ми налаштовуємо Git-репозиторій під ключ:

  • Коректний .gitignore з урахуванням версії Бітрікса
  • Ініціалізацію та перший коміт з правильними файлами
  • Налаштування гілок, правил злиття та CI
  • Документацію workflow для команди
  • Навчання розробників основам Git для Бітрікса
  • Підтримку протягом місяця після налаштування

Наші переваги

Досвід роботи інженерів – понад 10 років. Компанія на ринку 5+ років. Виконано 50+ успішних міграцій на Git. Сертифіковані спеціалісти з 1С-Бітрікс. Гарантія на всі роботи – 12 місяців.

Орієнтовні терміни

Етап Час
Аудит поточної структури 0.5 дня
Налаштування .gitignore та ініціалізація 0.5 дня
Перенесення історії зі старої VCS (якщо є) 0.5–1 день
Налаштування гілок та CI 0.5 дня
Документація та навчання 0.5 дня

Підсумковий термін – від 2 днів. Замовте налаштування – отримайте чисту історію та спокійні релізи. Git — розподілена система керування версіями (wikipedia.org)