Я не знаком с решимостью, но я использовал другие:
Рекурсивный
Рекурсивный - значение по умолчанию для слияний без ускоренной перемотки вперед. Мы все знакомы с этим.
Octopus
Я использовал осьминога, когда у меня было несколько деревьев, которые нужно было объединить. Вы видите это в более крупных проектах, где многие филиалы имели независимое развитие, и все они готовы объединиться в одну голову.
Ветвь осьминога объединяет несколько голов в один коммит, если он может делать это чисто.
Для иллюстрации представьте, что у вас есть проект, в котором есть мастер, а затем три ветви для объединения (назовите их a, b и c).
Серия рекурсивных слияний выглядела бы так (обратите внимание, что первое слияние было ускоренным, поскольку я не вызывал рекурсию):
Однако, одиночное слияние осьминога будет выглядеть так:
commit ae632e99ba0ccd0e9e06d09e8647659220d043b9
Merge: f51262e... c9ce629... aa0f25d...
Ours
Наши == Я хочу добавить другую голову, но выбросить все изменения, которые вносит эта голова.
Сохраняет историю ветви без каких-либо эффектов ветви.
(Чтение: Он даже не рассматривал изменения между этими ветвями. Ветви просто объединяются, и к файлам ничего не делается. Если вы хотите объединиться в другой ветке, и каждый раз возникает вопрос "наш файл" версию или их версию "вы можете использовать git merge -X ours
)
Subtree
Поддерево полезно, когда вы хотите объединить другой проект с подкаталогом вашего текущего проекта. Полезно, когда у вас есть библиотека, которую вы не хотите включать в подмодуль.