Как переместить ветку git вверх по дереву (обратная перебазировка)
Скажем, у меня есть серия коммитов, которая выглядит так:
h {master}
^
f g {branch1}
^ ^
d e
^/
c
^
b
^
a
Я знаю, что могу переместить branch1 в конец дерева через rebase, так что это будет выглядеть так: d->f->h->e->g
,
Но есть ли способ, которым я могу переместить ветку вверх по дереву, чтобы она выглядела так?
h {master}
^
f
^
d g {branch1}
^ ^
c e
^/
b
^
a
2 ответа
Решение
Находясь на branch1
, бежать git rebase --onto b c branch1
, Это должно сделать работу.
На самом деле это удаление c из branch1, а не обычное значение rebase. Вы можете сделать это с интерактивным режимом rebase
git rebase -i b<SHA1>
удалить строку pick c<SHA1>
и завершить.