Я не думаю, что будет легко очистить вашу текущую настройку, если ваша история не достаточно коротка, но я бы посоветовал это:
Настройка главного репозитория, в котором настроены удаленные устройствадля каждого из других мест, откуда приходит ваш код - основного ядра, исправлений, ...
Храните отдельную ветку специально для обновлений от вашего поставщика драйверов.
Когда вы выбираетеобновления не будут связываться с вашими ветками.
Когда вы будете готовы к слиянию, объединяйтесь в какую-то ветку "release".Идея состоит в том, чтобы хранить каждый источник отдельно от других, за исключением случаев, когда его необходимо объединить. Основывайте свои изменения вне этой ветви, объединяя / перебирая при необходимости.
Вот краткая диаграмма, которая, я надеюсь, будет полезна:
mainline-\----------\-------------------------------\
\ \ /you---\---/-/ \
\release----\-/---/----/-/--------\-/ / --\-----
patches-----------------/---/ / /
/ /
driver-------------------------/--------------/
При таком количестве ветвей сложно эффективно построить диаграмму, но я надеюсь, что это даст вам представление о том, что я имею в виду.release
содержит официальный код вашей системы, you
содержит ваши собственные модификации, driver
содержит исправления от поставщика драйверов, patches
содержит исправления из какого-либо другого репозитория, а mainline
является основным ядром.Все объединяется в release
, и вы основываете свои изменения на release
, но взаимодействуете только путем объединения в каждом направлении, не внося изменений непосредственно в release
.