如何在Git中修改master(在这种情况下)

我使用git(来自visual studio,但我不认为这是相关的),并且我遇到了以下情况

我现在的git历史

如你所见,有四个分支(BX)和其他几个提交。 还有主分支(M) - 它是红色的。

那么,由于我的经验不足,我已经进入了B3程序的稳定版本。 我在B4做了一些实验,但我认为我会放弃它。 - 我知道如何去做,没有问题。

但是,主分支处于完全不同的方向。 这两个人承诺有我不关心的事情,而且我绝对不想在我已经工作的计划中。

所以我的问题是 - 因为“主人”应该是稳定的版本 - 我如何让主点指向B3是?

这一定是一个非常基本的问题,但我相信有经验的人的建议


一个可能的解决方案(如果这些都是您创建的本地功能分支)将执行以下操作:

  • git branch -d B4
  • git checkout master
  • git reset --hard <SHA of B2's commit you want>
  • git checkout B3
  • git rebase B3 master
  • 这将删除分支B4 ,删除你不想要的master的提交,然后从你想要的master分支的B3分支中重放所有的提交。 请记住,您可能需要在重新绑定期间解决一些冲突。 当你解决它们时,运行git rebase --continue


    最简单的事情是

    git branch -f master B3
    git checkout master
    

    这放弃了老主人并将其移至B3。

    链接地址: http://www.djcxy.com/p/3967.html

    上一篇: How to modify master in Git (in this situation)

    下一篇: How to return back to unpushed commits after returning back to an earlier commit