我怎样才能复活一个分支?

时间:2014-12-08 10:46:02

标签: git git-branch git-rebase remote-branch

我有一个重构/清理分支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也已经开始合并,甚至可能已经开始了。{/ p>

我的猜测是我应该也移动了远程分支指针。我在上面cleanup之后推了checkout,但可能还不够?

有人可以解释我的情况发生了什么,以及我如何正确地恢复共享(=被推送到origin)分支?

1 个答案:

答案 0 :(得分:1)

将指针移至dd61后,您应该push origin cleanup --force将其移至origin