Я обнаружил, что лучшим решением для меня является просто выполнить слияние и прервать его, если возникнут конфликты . Этот конкретный синтаксис кажется мне чистым и простым. Это стратегия 2 ниже.
Однако, если вы хотите убедиться, что вы не испортили свою текущую ветку или просто не готовы к слиянию, независимо от наличия конфликтов, просто создайте из нее новую ветвь и объедините ее:
Стратегия 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
Если слияние прошло успешно, вы не можете прервать его (только сбросить).
Если вы не готовы к слиянию, используйте безопасный способ выше.
[EDIT: 2016-ноябрь - я поменял стратегию 1 на 2, потому что, похоже, большинство людей ищут «безопасный путь». Стратегия 2 теперь больше напоминает, что вы можете просто прервать слияние, если слияние имеет конфликты, с которыми вы не готовы иметь дело. Имейте в виду, если читаете комментарии!]
git merge
иgit reset --keep HEAD@{1}
если мне не понравится результат.