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

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

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

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

76 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: Review и merge
description: Как проверять и вливать sync-ветку с обновлением шаблона в master приложения.
---
# Review и merge
После подготовки `sync/*` ветки обновление шаблона должно попасть в `master` через PR/MR.
## Создать PR/MR
Параметры:
```text
source: sync/update-template-vX
target: master
```
Цель review — увидеть:
- какие изменения пришли из шаблона;
- какие конфликтные решения были сделаны в `sync/*`;
- не попали ли в обновление лишние изменения приложения;
- проходят ли проверки проекта.
## Настройки merge
Для sync-PR/MR важно:
```text
squash = off
fast-forward merge = хорошо
merge commit = допустимо
squash merge = нельзя
```
Squash нельзя использовать, потому что он может уничтожить связь истории `master` с историей `template`. Особенно это критично после миграционного `sync/bootstrap-template`.
## Проверки перед merge
Проверьте граф истории:
```bash
git --no-pager log --oneline --graph --decorate --all --max-count=50
```
Проверьте итоговый diff:
```bash
git --no-pager diff origin/master...sync/update-template-vX
```
Проверьте проект обычными командами конкретного приложения, например:
```bash
npm run lint
npm run build
```
## После merge
После успешного merge в `master` можно удалить временную ветку:
```bash
git branch -d sync/update-template-vX
git push origin --delete sync/update-template-vX
```
Проверьте, что `master` теперь содержит обновление шаблона:
```bash
git fetch origin
git --no-pager log origin/template..origin/master --oneline
git --no-pager diff origin/template...origin/master
```