Я обнаружил, что лучшим решением для меня является , просто выполнить слияние и прервать его, если вам не нравятся результаты . Этот конкретный синтаксис кажется мне чистым и простым. Если вы хотите убедиться, что вы не испортили свою текущую ветку или просто не готовы к слиянию, независимо от наличия конфликтов, просто создайте из нее новую дочернюю ветвь и объедините ее.
Стратегия 1: Безопасный путь - объединить временную ветку:
git checkout mybranch
git checkout -b mynew-temporary-branch
git merge some-other-branch
Таким образом, вы можете просто выбросить временную ветвь, если вы просто хотите увидеть, что это за конфликты. Вам не нужно беспокоиться об «отмене» слияния, и вы можете вернуться к своей работе - просто зарегестрируйте mybranch снова, и у вас не будет никакого кода слияния или конфликтов слияния в вашей ветке.
Это в основном пробный прогон.
Стратегия 2: когда вы определенно хотите объединиться, но только если нет конфликтов
git checkout mybranch
git merge some-other-branch
Если git сообщает о конфликтах (и ТОЛЬКО ЕСЛИ конфликты), вы можете сделать:
git merge --abort
Если слияние прошло успешно, вы не можете отменить его (только сброс).
Если вы не готовы к слиянию, используйте более безопасный способ выше.
[РЕДАКТИРОВАТЬ: 2016-ноябрь - я поменял стратегию 1 на 2, потому что похоже, что большинство людей ищут «безопасный путь». Стратегия 2 теперь больше напоминает, что вы можете просто прервать слияние, если у слияния есть конфликты, с которыми вы не готовы иметь дело. Имейте в виду, если читаете комментарии!]