У меня есть функция ветвь, которая уже объединилась (в M
), но вернулась впоследствии (в R
):Rebase ветвь, которая уже объединилась
S---o-o-----M-o-R-o
\ /
A-----B-C ^master
^feature
Я хочу, чтобы перебазироваться в feature
ветви на ток master
так что я получаю:
S---o-o-----M-o-R-o-A'-B'-C'
\ /
A-----B-C ^new master or new branch
^old master
^feature
Это аналогично процессу, описанному в добавлении из revert-a-faulty-merge.txt, но вместо того, чтобы основывать новую ветвь на S
Я хочу установить его на текущий master
.
Согласно this question это решение должно работать:
git rebase --onto stable D fix/123
Это еще вид рискованно, потому что вы должны взять на себя Ша D (а не X, например).
Так что я попытался git rebase --no-ff --onto master S feature
, но он просто выдвинул feature
этикетки на master
этикетки и сказал «Fast-пересылаются функцию для мастера» без создания каких-либо новых фиксаций.
Так как я могу в основном скопировать всю ветку feature
на вершине мастера?
Из любопытства, почему вы хотите это сделать? Коммиты A-C уже находятся в истории, поэтому копирование их на вершине мастера дублирует их, возможно, путают всех, кто смотрит на нее. Вместо этого вы можете применить исправление на ветке (чтобы оно было принято на сервере), а затем снова объединить его в мастер. – poke
Они были возвращены некоторое время назад (зафиксируйте «R», точно так же, как Linus описывает в связанном тексте), поэтому мне нужно объединить их снова после некоторых изменений. – AndreKR