Этот метод предотвращает необходимость повторного разрешения конфликтов слияния путем повторного воспроизведения ранее разрешенных изменений в коммите слияния.
git checkout feature
git diff master > feature.patch
git reset --hard G
git branch --move trimmed_feature
git checkout -b feature master
git merge --strategy ours trimmed_feature --no-edit
git apply feature.patch --index
git commit --amend --message "Merge branch 'master' into feature"
git branch -D trimmed_feature
Сначала мы удаляем старые слияния, чтобы создать обрезанную ветвь объектов, затем создайте чистую ветвь объекта из master, объедините нашу обрезанную ветвь функции, используя git merge --strategy ours
, чтобы игнорировать изменения, затем повторно примените ранее разрешенные изменения из патча.