Слияние коммитов из одной ветки, чтобы базироваться из другой ветки
У меня есть master
филиал и staging
ветка для моего проекта. Я просто подтолкнул отдельный develop
филиал, который выключен master
, но мне нужно, чтобы это было staging
,
Есть ли в любом случае взять develop
ветвь, которая на 1 коммит впереди мастера и у нее так, что она не в моей постановке branch
? Так что в конечном итоге это будет только один коммит staging
?
1 ответ
Я мог бы предложить сделать простую перебазку develop
на staging
:
git checkout develop
git rebase staging
Это будет воспроизводить все коммиты в develop
что произошло после того момента, когда staging
отклонился от master
прямо на вершине staging
ветка. Но это также может сыграть определенную master
совершает поверх staging
, что не похоже на то, что вы хотите.
Так что, если все, что вы хотите сделать, это сыграть этот единственный коммит поверх staging
и пусть это будет develop
филиал, вы можете попробовать это:
git checkout staging
git checkout -b new_develop
git cherry-pick <SHA-1 of single commit>
Затем удалите старый develop
филиал и переименовать new_develop
в develop
:
git branch -d develop
git branch -m new_develop develop