да, вы можете использовать rebase для достижения желаемого эффекта.следующая команда извлечет ветку deploy
и воспроизведет все ее коммиты, которые недоступны через v1.1
, поверх v1.1
:
git rebase v1.1 deploy
(подробный путь будет: git rebase --onto v1.1 v1.0 deploy
)
но зачем перебирать и изменять историю?вы можете просто изменить основную ветку разработки на свою ветвь развертывания:
git checkout deploy
git merge v1.1
это оставит все ваши хэши коммитов без изменений, ваша история будет выглядеть так (M
- коммит слияния):
C---D---E-----------M deploy
/ /
A---B---F---G---H---I---J---K master
\ \
v1.0 v1.1
, поскольку конфликты могут возникать как при перебазировании, так и при слиянии, при использовании подхода, основанного на слиянии, у вас будет история конфликтов слияния.с rebase у вас нет истории конфликтов, которые произошли во время операции rebase.используя рабочий процесс на основе слияния, вы позже сможете увидеть свои конфликты в (комбинированном) diff-файле коммитов слияния.