2016-05-27 2 views
0

Я начал новую ветку от постановки. Im 3-4 фиксируется, и я понял, что мне нужно отделить мастер вместо того, чтобы организовывать. Как я могу изменить свою первоначальную ветку, но все равно сохранить свою работу/совершить?Изменить, где мой новый филиал разветвлен от

+3

https://git-scm.com/docs/git-rebase – Marvin

ответ

0

Легкий способ:

git log --oneline -4 #find all the commit hashes you want to get 
git checkout origin/master 
git checkout -b $newbranch 
git chery-pick $A $B $C $D 

Ваша история ABCD, как в вашей первой фиксации является A, то B и т.д.

Вишневый выбрать хэши вам нужно от вашей промежуточной ветви. Вы не будете динамически находить свои изменения сегодня, так как у вас всего 3-4 коммиты, скопируйте хеши и примените изменения к своей новой ветке.


-1

git rebase --onto NEW_SOURCE_BRANCH FIRST_COMMIT_BEFORE_YOUR_WORK

NEW_SOURCE_BRANCH где вы хотели быть разветвленными от

это будет перематывать ваши коммиты, которые после FIRST_COMMIT_BEFORE_YOUR_WORK, а затем он будет воспроизводить их на NEW_SOURCED_BRANCH, а затем поставить вас там в какой точке вы можете либо создать новую ветвь этой работы, либо восстановить сложную ветку.

Примечание. Я бы сказал, что использование источника/мастера как FIRST_COMMIT_BEFORE_YOUR_WORK, но, скорее всего, мастера больше нет; но это тривиально найти в любом случае.

Смежные вопросы