Компьютеры · Инструкция
Git refusing to merge unrelated histories: когда применять --allow-unrelated-histories
Git отказывает в обычном merge, когда две ветки не имеют общего предка. Такое бывает после отдельного `git init`, импорт
Короткий ответ
Флаг `--allow-unrelated-histories` нужен только если вы действительно объединяете две независимые истории без общего предка. Если это неожиданно, сначала проверьте remotes и выбранные ветки — флаг не должен маскировать ошибочную конфигурацию.
Что делать
- Проверьте ветки: Выполните `git branch -vv`, `git remote -v` и `git merge-base HEAD origin/<branch>`.
- Если merge-base пуст: Подтвердите, что это действительно два проекта/две стартовые истории, которые нужно объединить.
- Сделайте резервную ветку: Создайте `git branch backup-before-unrelated-merge`.
- Объедините осознанно: Используйте `git merge origin/<branch> --allow-unrelated-histories`.
- Разберите конфликты: Проверьте конфликтующие корневые файлы, особенно README, .gitignore и конфиги, затем завершите merge.
Важно
Не используйте флаг, если вы случайно подключили не тот remote или ветку.
Что учитывать
Не используйте флаг, если вы случайно подключили не тот remote или ветку.
Источники и проверка
Инструкция составлена редакцией N1RO на 2026-09-17. Перед действием сверьте актуальные условия на официальном сайте сервиса или производителя.