如何从分歧的主人那里重新分支?

时间:2014-07-06 13:45:26

标签: git

最初,我的本地主分支与origin / master相同。想象如下:

  1. 原本

    master:a-> b

    origin / master:a-> b

  2. origin / master再多提交

    master:a-> b

    origin / master:a-> b-> c

  3. 再掌握一次提交

    master:a-> b-> d

    origin / master:a-> b-> c

  4. 来自主人的新分支

    master:a-> b-> d

    newbranch:a-> b-> d-> e

    origin / master:a-> b-> c

  5. 我尝试将主分支重新定位到origin / master,我期望新分支的日志将是a-> b-> c-> d-> e。但相反,新分支的日志仍然是a-> b-> d-> e,为什么会这样?

1 个答案:

答案 0 :(得分:0)

我要做的事情:

  • 将本地主人回放到最后一次非分歧提交 b: git checkout master; git reset b
  • 拉远程主人:git pull origin master;这将拉入 c
  • 使用git mergegit cherry-pick将提交 d e 置于主服务器上,解决与提交 c

通常建议避免直接在主分支上工作。使用功能分支,定期对其进行git pull --rebase以与主设备保持同步,并且仅合并到新推出的主设备。