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

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

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

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

3.5 KiB
Raw Blame History

title, description
title description
Troubleshooting Типовые ошибки при обновлении проекта от шаблона и способы диагностики.

Troubleshooting

fatal: отказ слияния несвязанных историй изменений

Ошибка:

fatal: отказ слияния несвязанных историй изменений

Причина: master приложения не был создан от template, поэтому у веток нет общего предка.

Решение: выполнить одноразовую миграцию через sync/bootstrap-template по инструкции Миграция существующего master.

Коротко:

git switch -c sync/bootstrap-template origin/master
git merge --allow-unrelated-histories origin/template
git push -u origin sync/bootstrap-template

--ff-only падает на template

Ошибка возникает при команде:

git merge --ff-only templates/master

Причина: в template появились коммиты, которых нет в шаблоне. Значит ветка перестала быть чистым слепком.

Что проверить:

git fetch templates
git --no-pager log --oneline --graph --decorate templates/master..template

Решение зависит от причины. Не продолжайте обновление, пока не станет понятно, какие локальные коммиты попали в template.

Пустой diff в sync-ветке

Симптом:

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

не показывает изменений.

Возможные причины:

  • в шаблоне нет новых изменений;
  • origin/template не был обновлён;
  • origin/template не был влит в sync/*;
  • sync-ветка создана не от актуального origin/master.

Что проверить:

git fetch origin
git fetch templates
git --no-pager log --oneline -1 origin/template
git --no-pager log --oneline -1 templates/master
git --no-pager log --oneline --graph --decorate --all --max-count=50

Случайно включили squash

Если sync-PR/MR уже влит squash-merge, история шаблона могла не сохраниться как нормальная merge-связь.

Что сделать:

  • зафиксировать факт в описании проекта;
  • проверить, видит ли Git последующие обновления шаблона без повторного применения старых изменений;
  • при следующем обновлении внимательно смотреть diff и конфликты;
  • для будущих sync-PR/MR отключить squash.

Если ситуация стала неуправляемой, может потребоваться отдельная техническая миграция истории.

cannot run less

Ошибка:

cannot run less

Причина: Git пытается открыть pager less, которого нет в системе.

Решение: использовать git --no-pager:

git --no-pager log --oneline --graph --decorate --all --max-count=50
git --no-pager diff template...master