Итак, чтобы уточнить, что вы хотите, это так, верно?
feature /---F1-----F2
/
master -----M0-----M1-----M2
\
bugfix \--B1-----B2
Убедитесь, что HEAD
s feature
и bugfix
по-прежнему включены F2
и B2
соответственно.
Редактировать : если feature
и bugfix
не являются ветвями, сделайте их ветвями (сохраните свою работу, если она не передана):
git checkout F2
git branch feature
git checkout B2
git branch bugfix
Редактировать конец
Затем сбросьте мастер до M2:
git checkout master
git reset M2 --hard
(сброс приведет к потере локальных изменений, если они вам не нужны, их можно спрятать).
M3
и M4
не уничтожаются сразу, но будут в конечном итоге. Они не должны появляться в git log
или gitk.
Тогда пришло время объединить feature
и сделать M3'
, который является правильным.