Компьютеры · Инструкция
Git pull: divergent branches — как выбрать merge или rebase
Сообщение появляется, когда локальная и удалённая ветки имеют собственные коммиты и Git не должен молча решать, переписы
Короткий ответ
Если Git просит указать способ согласования расходящихся веток, выберите стратегию явно: `git pull --rebase`, `git pull --no-rebase` или только fast-forward через `git pull --ff-only`. Для постоянного поведения задайте `pull.rebase` или `pull.ff` в config.
Что делать
- Проверьте расхождение: Выполните `git status` и `git log --oneline --graph --decorate --all -20`, чтобы увидеть обе линии истории.
- Выберите merge: Если история общая и merge-коммит допустим, выполните `git pull --no-rebase`.
- Или выберите rebase: Для линейной истории локальных неопубликованных коммитов используйте `git pull --rebase`.
- Запретите неявный merge: Если pull должен работать только при fast-forward, используйте `git pull --ff-only`.
- Закрепите правило: Задайте `git config pull.rebase true|false` или `git config pull.ff only` на уровне репозитория; `--global` применяйте только если правило нужно везде.
Важно
Перед rebase убедитесь, что рабочее дерево сохранено или закоммичено.
Раздел 3
Не делайте rebase опубликованных коммитов без согласования с командой.
Что учитывать
Перед rebase убедитесь, что рабочее дерево сохранено или закоммичено.
Источники и проверка
Инструкция составлена редакцией N1RO на 2026-09-17. Перед действием сверьте актуальные условия на официальном сайте сервиса или производителя.