Как переместить ветку 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> и завершить.

Другие вопросы по тегам