Изначально у меня было что-то вроде этого:Как я могу переустановить часть ветки на главную ветку?
C---D (branch1)
/
A---B (master)
Потому что мне нужно работать над чем-то еще (что не было связано с branch1
), я решил сделать новую ветвь (так называемый branch2
). Я сделал пару коммитов на branch2
, а затем толкнул их.
Теперь, у меня было намерение иметь master
в качестве корня branch2
. Тем не менее, я случайно сделал это:
E---F--G (branch2)
/
C---D (branch1)
/
A---B (master)
Есть чистый способ сделать branch2
стебель непосредственно из master
, как показано ниже?
E---F--G (branch2)
|
| C---D (branch1)
|/
A---B (master)
Отличный ответ! Я даже не знал о 'git rebase on', и я считаю себя экспертом в Git rebasing. @ Løiten Пожалуйста, проверьте, не удалил ли кто-нибудь ветку2, так как вы ее нажали. Если нет, вы можете сделать «git push origin branch2 --force», чтобы принудительно перевести ветвь на удаленный. –
Правильный ответ. Возможно, что он столкнется с конфликтами, но если изменения в EFG связаны с изменениями на компакт-диске. – chmike
@chmike Не должно возникать конфликтов, в данном случае: 'git-rebase' будет знать, что делать без вмешательства пользователя, потому что операция просто состоит в воспроизведении кучки коммитов поверх старшего предка. – Jubobs