Я виявив, що найкраще рішення для мене полягає в тому, щоб просто виконати злиття і перервати його, якщо є конфлікти . Цей особливий синтаксис мені здається чистим і простим. Це стратегія 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}
якщо результат мені не подобається.