Files
docs/canons/template-sync-strategy/workflows/update-template.md
S.Gromov 1a14df9366 feat: добавить документацию Template Sync Strategy
- добавлены каноны и VitePress-сайт стратегии обновления шаблонов

- подключена карточка документации на главной странице

- добавлены сборочные скрипты, Caddy-маршрут и Docker-сборка

- добавлена git-иконка для карточки и сгенерированы публичные артефакты
2026-05-13 23:23:31 +03:00

3.2 KiB
Raw Blame History

title, description
title description
Обычное обновление шаблона Повторяемый процесс доставки изменений шаблона в приложение после первичной настройки.

Обычное обновление шаблона

Эта инструкция подходит после любого стартового сценария:

Целевой маршрут:

templates/master -> template -> sync/* -> master

1. Обновить слепок шаблона

В репозитории приложения:

cd /path/to/app-repo
git switch template
git pull --ff-only
git push

Этот вариант работает, если для ветки template настроено:

pull из templates/master
push в origin/template

Явная форма без зависимости от tracking-настроек:

git fetch templates
git switch template
git merge --ff-only templates/master
git push origin template

Если --ff-only падает, значит template перестал быть чистым слепком шаблона. Остановитесь и разберите причину до продолжения.

Проверьте, что origin/template обновился до шаблона:

git fetch origin
git fetch templates
git --no-pager log --oneline -1 origin/template
git --no-pager log --oneline -1 templates/master

Оба коммита должны совпадать.

2. Создать ветку обновления приложения

После обновления template создайте временную ветку от текущего приложения:

git fetch origin
git switch -c sync/update-template-v2 origin/master
git merge origin/template

Имя ветки можно менять под версию или дату:

sync/update-template-v2
sync/update-template-2026-05-09
sync/update-template-1.8.0

Проверьте, что временная ветка реально отличается от origin/master изменениями шаблона:

git --no-pager diff --stat origin/master...HEAD

Если diff пустой, значит обновлённый origin/template не был влит в sync/* ветку или в шаблоне нет новых изменений.

3. Решить конфликты

Если есть конфликты, решайте их именно в sync/*.

После решения конфликтов:

git add .
git commit

Если конфликтов не было, Git сам создаст merge-коммит или выполнит fast-forward, в зависимости от истории.

4. Запушить sync-ветку

git push -u origin sync/update-template-v2

Дальше откройте PR/MR:

source: sync/update-template-v2
target: master

Правила merge описаны в Review и merge.