@ Новелократ предложил почти такой же подход, как и я.Определенно создайте резервную ветку из текущего местоположения вашей master
ветви:
git branch mywork-orig master
В вашем случае, я думаю, origin
- это ваша ветвь github, а upstream
- то, откуда вы разветвились.По этой причине, когда у вас выписан ваш локальный master
, вы должны сделать:
git reset --hard upstream/master
Это сбросит его до значения upstream
's master
.Затем вы также должны подтолкнуть его к своей ветке на github:
git push origin +master
Затем создать новые ветви из вашей недавно сброшенной ветви master
, которая теперь должна быть такой же, как upstream/master
:
git checkout -b mywork
Поскольку вы выполнили так много слияний в своей старой ветке master
, вы, вероятно, не сможете особо выбирать новые создаваемые ветки функций.Вишни выбирают коммиты, которые вы можете, а затем просто (или не так просто;) воссоздайте те, которые вы не можете легко выбрать вишенками.