Как обновлять сайт после публикации
Сайт, связанный с репозиторием GitHub, одно настоящее обновление, опубликованное через push, и один пройденный откат на прошлую версию.
Задача
У Мерве (уроки 4.2 и 4.9) сайт уже в интернете, а проект лежит в приватном репозитории на GitHub. В ноябре меняется расписание мастер-классов, и каждый раз перетаскивать папку в браузер ей неудобно. Однажды она загрузила не ту папку, и сайт полдня показывал старые цены. Ей нужен простой и безопасный порядок обновлений и способ быстро вернуть прошлую версию.
Словарик.
- Деплой (публикация): выкладка новой версии сайта на хостинг.
- Автопубликация из GitHub: хостинг следит за репозиторием. Ты отправил коммит на GitHub, и он сам выложил новую версию.
- Рабочая ветка (production branch): ветка репозитория, из которой публикуется «боевой» сайт. Обычно
main. - Откат (rollback): вернуть на сайт одну из прошлых версий.
Шаги
Запомни цикл обновления. Он всегда один:
- правка: одна просьба в Claude Code (урок 4.8);
- проверка у себя: открыть
index.htmlв браузере и на телефоне, нажать все кнопки; - коммит: «сделай коммит» (урок 4.9);
- публикация: «отправь изменения на GitHub», дальше хостинг всё сделает сам. Не пропускай проверку: всё, что ушло на GitHub, через минуту окажется у клиентов.
Netlify: подключи GitHub к уже опубликованному сайту. Сайт из урока 4.2 (Netlify Drop) можно связать с репозиторием:
- открой проект в Netlify → Project configuration → Developer settings → Continuous deployment → Repository → Link repository;
- выбери GitHub, разреши доступ к репозиторию, выбери его;
- настройки сборки: у статического сайта сборки нет. По документации Netlify поле команды сборки (build command) оставь пустым, а папкой публикации (publish directory) укажи папку, где лежит
index.html(если он в корне репозитория, то корень). Не уверен? Спроси Claude Code: «Какие настройки сборки и папку публикации указать в Netlify для этого проекта?». После связки Netlify сам настраивает автопубликацию: каждый коммит на GitHub в рабочую ветку становится новой версией сайта. Без GitHub тоже можно: в проекте под Production deploys перетащи обновлённую папку. Но тогда нет истории и легко ошибиться папкой.
Cloudflare: нужен новый проект с Git. Проект, созданный загрузкой файлов (Direct Upload, урок 4.2), по документации Cloudflare нельзя переключить на GitHub. Варианты:
- оставить как есть и обновлять вручную: проект → Create a new deployment → загрузить папку;
- создать новый проект с Git: Workers & Pages → Create application → Pages → Connect to Git → GitHub → выбрать репозиторий → Begin setup → указать рабочую ветку (
main). Сборка не нужна: поле Build command оставь пустым (илиexit 0), в Build output directory укажи папку, где лежитindex.html. Нажми Save and Deploy. После этого каждый push в рабочую ветку публикует сайт. Свой домен потом переносится на новый проект. По документации Cloudflare домен сначала отключают от старого проекта (удалить его CNAME-запись в DNS, затем в старом проекте Custom domains → «⋯» → Remove domain), потом в новом проекте Custom domains → Set up a domain. Пока домен переключается, сайт по нему может быть недоступен.
Первое обновление по новому циклу. «Обнови расписание на ноябрь из файла schedule.txt. Больше ничего не меняй». Проверил у себя → «сделай коммит и отправь на GitHub». Через минуту-другую открой сайт. Изменений не видно? Обнови страницу без кэша или открой в режиме инкогнито, затем загляни в список публикаций на хостинге: там видно, прошла ли последняя.
Если обновление неудачное, сначала откатись на хостинге. Это мгновенно возвращает рабочую версию, пока ты разбираешься.
- Netlify: открой список публикаций (Deploys), открой прошлую удачную и нажми Publish deploy. Новой сборки не будет, просто вернётся старая версия.
- Cloudflare: проект → Deployments → All deployments → меню «⋯» у нужной версии → Rollback to this deployment → подтвердить. Откатиться можно только на успешную рабочую публикацию, не на предпросмотр.
Потом исправь в git, иначе откат «слетит». Netlify прямо предупреждает: при включённой автопубликации следующий push перезапишет откатную версию. Поэтому:
- попроси Claude Code: «Отмени последний коммит новым коммитом и отправь на GitHub». Или найди и исправь ошибку;
- если нужно время, в Netlify можно временно остановить автопубликацию: в списке Deploys нажми Lock to stop auto publishing; вернуть можно кнопкой Unlock to start auto publishing.
Крупные изменения делай через предпросмотр. Новый раздел или редизайн делай в отдельной ветке: «Создай ветку redesign, работай в ней». Cloudflare публикует все ветки, кроме рабочей, как предпросмотр со своей ссылкой. У Netlify предпросмотр (Deploy Preview) создаётся для pull request. Посмотрел по ссылке → всё хорошо → «влей ветку в main и отправь».
⚠️ Если на сайте появилась форма или счётчик, обновление может затронуть персональные данные. Перед публикацией таких правок пройди чек-лист из урока 4.6.
Шаблон
Я [имя], не программист. Объясняй простыми словами.
Сайт опубликован на [Netlify / Cloudflare], репозиторий на GitHub подключён, рабочая ветка main.
Задача: [что изменить].
Не трогай: [что уже работает].
Порядок:
1. Сделай правку.
2. Скажи, как проверить у себя (что открыть, что нажать, на телефоне тоже).
3. Жди моего «ок».
4. После «ок» сделай коммит с понятным описанием и отправь на GitHub.
5. Скажи, где на [Netlify / Cloudflare] посмотреть, что публикация прошла, и как откатиться, если что-то не так.
Подключи свой опубликованный сайт к репозиторию GitHub (Netlify) или создай новый проект с Git (Cloudflare). Сделай одно настоящее обновление по шаблону, например новые часы работы или расписание. А затем потренируйся откатиться на прошлую версию и вернуть новую.
✓ Как понять, что получилосьПосле отправки на GitHub изменение видно на сайте без ручной загрузки папки, а в списке публикаций хостинга последняя отмечена как успешная. Откат возвращает прошлую версию, и ты знаешь, как исправить это в git, чтобы следующий push не перезаписал откат случайно.
- Цикл обновления: правка, проверка у себя, коммит, отправка на GitHub
- Откат в Netlify и Cloudflare за минуту
- Правило: после отката исправляешь в git, иначе следующий push его перезапишет
- Крупные изменения через отдельную ветку и предпросмотр
Сегодня подключи свой опубликованный сайт к репозиторию GitHub в Netlify или создай новый проект с Git в Cloudflare. Шаблон обновления сохрани в заметку «Мои запросы».