【问题标题】:How can I resurrect a branch?我怎样才能复活一个分支?
【发布时间】: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

但是当我使用复活的分支执行此操作时,即使我没有指定 --rebasegit pull 已经开始合并甚至可能是变基。

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

有人可以解释我的情况以及如何正确恢复共享(= 被推送到origin)分支吗?

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 在拉/推cleanup 几次或者这个分支现在“损坏”并且我应该删除它之后我还能这样做吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-15
    • 2011-11-06
    • 1970-01-01
    • 2019-09-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多