Если на * 1001 не слишком много новых коммитов, я бы cherry-pick их на newxorg
.
По вашему примеру, выбор вишни M3 и M4 с master
на newxorg
приведет вас к:
M1 -- M2 -- M3 -- M4
\
B1 -- B2
до:
M1 -- M2 -- M3 -- M4
\
B1 -- B2 -- M3 -- M4
У вас будет M3 и M4 отдельно на newxorg
.
При выборе вишни у вас будет "маленькая" проблема , если вы решите объединить newxorg
с мастером (позднееstage) поскольку cherry-pick создаст другие коммиты, идентичные в каждой точке исходным M3 и M4 , но с другой хэш sha1 .Вы (и другие) увидите это в истории как дублирующие коммиты ...
Существует также возможность слияния master
в newxorg
(но это приведет к другому слиянию)коммит, так что это не совсем то, что вы просили).
В вашем случае я бы предпочел использовать метод слияния, чтобы избежать последующих проблем .
Выберите любой методВы считаете нужным.
LE.Детали слияния
Как вы и просили, вот немного больше информации о методе слияния:
- извлечение ветки
newxorg
(git checkout newxorg
) - слияние
master
в newxorg
(git merge master
)
Если у вас возникли проблемы с проверкой ветки newxorg
, вам может понадобиться stash theизменения, которые у вас есть в вашей рабочей копии: git stash
и когда вам понадобятся эти изменения обратно, вы можете сделать git stash pop
(pop
применяет изменения и затем сбрасывает тайник) или git stash apply
(apply
применяет изменения и сохраняет тайник).
Вот начальная настройка :

и окончательная настройка :

На более позднем этапе, когда вы хотите объединить newxorg
в master
, используйте следующие команды:
git checkout master
git merge newxorg
Если у вас возникнут конфликты при объединении, вы можете использовать git mergetool
для разрешения конфликтов.Возможно, вам потребуется настроить инструмент визуального слияния, такой как p4merge (который является кроссплатформенным).
PS. на случай, если вы 'интересно, откуда я взял эти скриншоты: они из вашего репозитория на github .