food-market/docs/rebrand-rollback.md
nns ec7d2dc601 rebrand: подготовка к откату (тег, rollback-док и скрипт, прогресс)
- Тег pre-rebrand-all-market на дорибрендинговом main (c8c0be5), запушен.
- docs/rebrand-all-market-progress.md — план и границы (что НЕ трогаем).
- docs/rebrand-rollback.md — точные команды отката кода (revert-диапазон) и стенда.
- deploy/rebrand-rollback.sh — dry-run по умолчанию, --apply для реального отката.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 17:13:21 +05:00

3.3 KiB
Raw Permalink Blame History

Откат ребрендинга ALL MARKET → Food Market

Ребрендинг сделан отдельными коммитами с префиксом rebrand: подряд поверх тега pre-rebrand-all-market. Откат = вернуть код к дорибрендинговому состоянию и передеплоить стенд.

Якорь отката

  • Тег: pre-rebrand-all-market = c8c0be5 (main до ребрендинга, запушен в origin).
  • Диапазон ребренд-коммитов: pre-rebrand-all-market..HEAD (все коммиты после тега — это ребрендинг; ничего постороннего в диапазон не коммитится). Точный список: git log --oneline pre-rebrand-all-market..HEAD.

Образы стенда (на момент старта)

  • Стек стенда (prod-vm, ~/food-market-stage/deploy/docker-compose.yml): food-market-api:stage, food-market-web:stage из реестра 127.0.0.1:5001 (+ ghcr backup). Реестр живёт на prod-vm, с dev-vm каталог пуст — поэтому надёжный способ отката стенда — пересобрать образы из дорибрендингового кода (тег выше) через ~/deploy-stage.sh, а не искать старые дайджесты.
  • Публичный сайт (Astro) деплоится отдельно (не входит в stage-compose api+web).

Откат КОДА (reverts, сохраняет историю)

cd ~/food-market
git fetch origin
# Вернуть всё, что после тега (это и есть ребрендинг), одним диапазоном:
git revert --no-edit pre-rebrand-all-market..HEAD
git push origin main

Альтернатива (жёстко вернуть main на тег — только по согласованию, переписывает историю):

git reset --hard pre-rebrand-all-market && git push --force-with-lease origin main

Откат СТЕНДА (пересборка дорибрендинговых образов)

cd ~/food-market
git checkout pre-rebrand-all-market    # дорибрендинговый код
~/deploy-stage.sh                      # билд+push+redeploy api+web :stage
git checkout main                      # вернуться на ветку

(Если код уже откатан reverts’ами выше — просто ~/deploy-stage.sh с main.)

Скрипт

deploy/rebrand-rollback.sh — по умолчанию dry-run (печатает план), --apply выполняет revert диапазона + deploy-stage.sh. Публичный сайт откатывается отдельно (см. его пайплайн).

Проверка отката (выполнена в worktree, стенд не трогали)

См. раздел «Проверка отката» в docs/rebrand-all-market-progress.md: в отдельном worktree сделан git revert pre-rebrand-all-market..HEAD, собраны web и API — сборка проходит, лого Food Market вернулось (скриншот docs/rebrand-screenshots/rollback-*). Worktree удалён.