Коротко. Git — система контроля версий: она хранит полную историю изменений кода сайта, как цепочку «сохранений» в игре. Весь код наших клиентских проектов — WordPress-темы, Python-сервисы, интеграции — живёт в Git: видно, кто, что и когда менял, а неудачная правка откатывается за минуты. Заказчику это даёт три вещи: прозрачную историю работ, безопасные эксперименты без риска для боевого сайта и независимость от подрядчика — репозиторий с кодом передаётся вам целиком. Разбираться в командах Git владельцу бизнеса не нужно — достаточно требовать, чтобы подрядчик им пользовался.
Что ломается без контроля версий
Типичная картина на сайтах, попадающих к нам на аудит: код правили по FTP прямо на боевом сервере, рядом лежат header_old.php и style-final-2.css. Какая версия рабочая — не помнит никто.
Чем это заканчивается:
- Правка ломает сайт — отката нет. Единственный путь назад — бэкап хостинга суточной давности, вместе с правкой откатятся заказы, заявки и свежий контент.
- Никто не знает, что менялось. Сайт «вдруг» перестал отправлять заявки или просел в Яндексе, а сопоставить дату сбоя с конкретной правкой невозможно.
- Код существует в одном экземпляре — у подрядчика. Разработчик пропал, поссорились, поднял цену — актуальная версия сайта осталась на его ноутбуке.
- Исполнители затирают правки друг друга. Два человека редактируют один файл по FTP — выживает версия сохранённого последним, работа второго исчезает молча.
Как Git защищает заказчика
Git фиксирует каждое изменение кода отдельным «коммитом»: снимок файлов, автор, дата и комментарий — зачем это сделано. Из таких снимков складывается полная история проекта, и к любой её точке можно вернуться.
| Ситуация | Без Git | С Git |
|---|---|---|
| Обновление сломало сайт | Восстановление из бэкапа хостинга: часы простоя, потеря свежих данных | Откат кода за минуты, база данных не затрагивается |
| «Кто убрал блок с ценами?» | Концов не найти | История показывает автора, дату и изменённые строки |
| Смена подрядчика | Новая команда неделями разбирает архив файлов | Передаётся репозиторий — код плюс вся история решений |
| Эксперимент с дизайном или функцией | Правки на живом сайте, на глазах у клиентов | Отдельная ветка: на боевой сайт попадает только проверенное |
Для B2B-сайта каждый час неработающей формы — оплаченные и потерянные клики; откат за минуты — прямая экономия.
Наша дисциплина правок на боевых сайтах
Весь код клиентских проектов DZ Digital — WordPress-темы, которые мы пишем вручную, Python-сервисы, интеграции с CRM — находится под Git с первого дня. Изменения на боевых сайтах идут по одному регламенту:
- Бэкап. Код уже в Git; перед серьёзной правкой дополнительно снимаем дамп базы данных.
- Правка вне прода. Изменение пишется и проверяется локально или в отдельной ветке, а не «по живому».
- Выкладка одним шагом. На сервер уходит конкретный коммит — точно известно, что именно изменилось.
- Проверка после выкладки. Страницы, формы, скорость — смотрим сразу, а не ждём жалоб.
- Откат за минуты, если что-то пошло не так. Возврат к предыдущему коммиту — штатная операция, а не спасательная.
Так же живут наши серверные проекты — отчётность продаж для завода металлоконструкций с Битрикс24 и PostgreSQL, SEO-мониторинг девяти сайтов, парсер прайсов поставщиков: каждый работает в Docker-контейнере, каждая версия зафиксирована в Git и откатывается так же за минуты.
Передача репозитория: код принадлежит вам
Главный страх заказчика — зависимость от подрядчика. Git этот страх снимает конструктивно:
- По завершении проекта или в любой момент по запросу вы получаете доступ к репозиторию — полной копии кода со всей историей.
- Новый подрядчик или штатный разработчик видит по истории, что и почему делалось: вход в проект занимает дни, а не месяцы.
- Мы не «держим сайт в заложниках»: качество работы — единственное, что удерживает клиента.
Проверить подрядчика просто: спросите, где репозиторий проекта и как получить доступ. Внятного ответа нет — кодом сайта вы не владеете. Результаты подхода — в кейсах: при переезде производителя МАФ с Битрикса в поиск вышло 688 страниц; без истории кода такая миграция — лотерея.
Когда об этом можно не думать
Честно: контроль версий кода нужен не каждому сайту.
- Сайт на конструкторе. Tilda и аналоги не дают доступа к коду — версии страниц хранит сама платформа, Git там прикручивать некуда.
- Меняется только контент. Тексты, фото и товары живут в базе данных — их страхуют регулярные бэкапы БД, а не Git. Если код не трогается годами, вопрос второстепенен.
- Одноразовый сайт под акцию, который проживёт месяц и будет выключен: цена ошибки мала, хватит бэкапа хостинга.
Во всех остальных случаях — сайт разрабатывается или регулярно дорабатывается — контроль версий обязателен. В наших проектах, от лендинга за 80 000 ₽ до каталога от 350 000 ₽, Git включён по умолчанию и отдельной строкой в смете не стоит.
FAQ
Нужно ли мне самому разбираться в Git?
Нет. Git — внутренний инструмент разработчиков, как 1С у бухгалтера. Достаточно знать, что он используется, и иметь доступ к репозиторию.
Git заменяет бэкапы хостинга?
Нет, они дополняют друг друга: Git хранит версии кода, бэкапы — базу данных с контентом, заказами и заявками. Надёжная схема использует оба механизма.
Сколько стоит «добавить Git» в проект?
В наших проектах — нисколько: это базовая дисциплина, включённая в стоимость разработки. Сам Git бесплатен, а приватные репозитории большинства проектов умещаются в бесплатные тарифы GitHub или GitLab.
У меня сайт делали без Git. Можно навести порядок задним числом?
Да: текущее состояние кода фиксируется первым коммитом. Историю прошлых лет это не вернёт, но каждая следующая правка станет обратимой. Мы делаем это первым шагом при аудите доставшегося нам проекта.