Как я могу воскресить ветку?
У меня есть ветка рефакторинга / очистки cleanup
где я убираю технический долг. Пройдя один цикл, я сливаю эту ветку обратно в master
,
Несколько недель спустя у меня есть время, чтобы привести себя в порядок, и я хотел воскресить ветку, а не создавать новую. Так я вытащил master
а затем переместил указатель локальной ветви для cleanup
в HEAD
:
> git show HEAD
commit dd61...
> git branch -f cleanup dd61...
> git checkout cleanup
После этого я мог тянуть и толкать, и история выглядела правильно. Но у меня были некоторые тонкие проблемы, когда я пытался внести последние изменения и выполнить ребазинг. Мой обычный рабочий процесс для перебазирования текущей ветки:
> git pull origin master
> git rebase master
Но когда я делаю это с воскресшей ветвью, тогда git pull
уже начнет слияние или, возможно, даже перебазирование, хотя я не указал --rebase
,
Я думаю, что я должен был также переместить указатель удаленной ветви. Я толкнул cleanup
после checkout
выше, но, может быть, этого было недостаточно?
Может ли кто-нибудь объяснить, что происходит в моей ситуации и как я могу воскресить общий (= было выдвинуто origin
) ветка правильно?
1 ответ
После того, как вы переместили указатель на dd61
ты должен сделать push origin cleanup --force
двигаться дальше origin