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