Через git rebase
Вы можете управлять вашей конкретной платформой через git rebase
вместо git merge
. В этом случае вы сможете изменить ветвь ядра, а затем перебазировать другие ветки в ней, сохранив изменения, относящиеся к конкретной платформе.
Пример рабочего процесса.
Создание веток платформы
git checkout master
git checkout -b platform1
git checkout master
git checkout -b platform2
Внести изменения в ядро
git checkout master
# make modification
git commit
Внести изменения в платформу
git checkout platform2
# make modification
git commit
Импорт основных изменений в платформах
git checkout platform1
git rebase master
git checkout platform2
git rebase master
Через git merge
Также возможно использовать git merge
с опцией strategy
, как сказано в git merge manual .
git checkout platform2
git merge -s recursive -X ours master
Это всегда будет выбирать изменения, относящиеся к конкретной платформе в случае конфликтов