Ответ 1
Вчера у меня была аналогичная проблема после много вишневого выбора из (и) боковой ветки, где я после слияния с моей основной веткой. Много конфликтов с одинаковыми изменениями. Я решил это с помощью стратегии слияния:
git checkout main-branch
merge --no-commit -s recursive -X ours side-branch
вы можете изменить "наш" на "их". Будьте осторожны, потому что все конфликты автоматически решаются, выбирая "нашу" или "свою" сторону. В моем случае у меня было несколько неправильных слияний из-за этого, и я исправил их вручную. Смотрите другие интересные варианты стратегий слияния здесь: https://www.kernel.org/pub/software/scm/git/docs/git-merge.html
Вы также можете попытаться использовать rebase (в моем случае это не сработало, потому что ветки были слишком разными, и у меня был новый конфликт в каждом новом взаимодействии с rebase). Смотрите это: http://davitenio.wordpress.com/2008/09/27/git-merge-after-git-cherry-pick-avoiding-duplicate-commits/