【发布时间】:2015-02-06 00:06:21
【问题描述】:
我有一个重构/清理分支 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
但是当我使用复活的分支执行此操作时,即使我没有指定 --rebase,git pull 已经开始合并甚至可能是变基。
我的猜测是我也应该移动远程分支指针。我确实在上面的checkout 之后推送了cleanup,但也许这还不够?
有人可以解释我的情况以及如何正确恢复共享(= 被推送到origin)分支吗?
【问题讨论】:
标签: git git-branch git-rebase remote-branch