Skip to content

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

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

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

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

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

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

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

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

text
pull из templates/master
push в origin/template

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

bash
git add .
git commit

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

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

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

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

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

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