2016-07-26 217 views
2

我有一个上游/起源/本地的git系统。Git合并上游分支

上游有分支b1和b2 原产地有分支b1 本地有b1。

我想把b2(这是b1 +一些新的提交)的变化改为原点b1。

我试过命令:

git fetch upstream b2 
git checkout origin/b1 
git merge upstream b2 (which shows a Fast-forward) 
git push origin b1 (Which shows "Everything up-to-date") 

然而,当我访问产地/ B1我没有看到额外的提交。

有人可以建议我错过了什么吗?

回答

3
git fetch upstream    # pull in latest changes from upstream, including b2 
git push origin upstream/b2:b1 # push tracking branch upstream/b2 to origin/b1 
+0

这样做的伎俩。我错过了什么,这工作像魔术。你能解释一下吗? – CodeMonkey

+1

我在评论中解释过。你基本上只是想从'远程'上游'将'b2'从远程'origin'推到分支'b1'。因此,您可以'git fetch'将本地'b2'分支作为追踪分支,然后将其推送到远程'origin'上的'b1'。 –

+0

谢谢。但是不应该将b2合并到b1的checkout上,而应该在b1上获得最新的提交? – CodeMonkey