2014-01-23 56 views
0

目前我正在按分支合并冲刺门票分支(每个故事都有一个单独的分支)。所有的开发者都为他们的故事创建了一个分支,并将他们的变化/影响合并到他们各自的分支机构。GIT在单个支票上签出多个分支

我已经采取git pull,并得到了所有的新分支在我的仓库

Ex: 

* [new branch]  DEV-933 -> origin/DEV-933 
* [new branch]  DEV-950 -> origin/DEV-950 
* [new branch]  DEV-967 -> origin/DEV-967 
* [new branch]  DEV_904 -> origin/DEV_904 

现在我需要合并如下这些分支QA分支(当前分支是QA_sprint_1.11),

git merge DEV-933 

但我得到一个错误,如'

致命:'DEV-933'不指向提交

`

这意味着分支DEV-933只存在于原产地,而不是在我的本地git的服务器。所以我已经检查了分支DEV-933到我的本地服务器,并尝试了git merge和它的工作正常。

ISSUE:目前我有四个分支从开发,但有时我可能有10个分支每次冲刺当时我不能去检查每个分支一个接一个合并。

是否有任何其他方式在单个命令中完成上述任务 或GIT中的步骤。

+0

您是否尝试过做一个混帐'FETC在合并前抓住所有新分支? –

+0

是git fetch也像git checkout一样工作 –

+0

您还应该阅读git book上的[Git Branching - Remote Branches]部分(http://git-scm.com/book/ch3-5.html) 。你不需要每个“远程分支”的本地跟踪分支(参见[Nevik Rehnel的回答](http:// stackoverflow。com/a/21302809/1256452)),但您应该了解“远程分支”的含义,该章应该提供帮助。 – torek

回答

2

git fetch(以及由此延伸,git pull)告诉你,它们的输出:

* [new branch]  <branchname on remote> -> <branchname in your clone> 

这意味着,如果你还没有建立一个本地跟踪分行并不愿意这样做,您可以合并上游分支到当前分支

git merge <branchname in your clone> 

其中BRANCHNAME从git fetch/pull输出服用。

您还可以得到所有分支的列表中你的克隆,包括“远程分支机构”(那些创建/获取更新)通过使用

git branch -a 

TL; DR:你可以只使用

git merge origin/DEV-933 

+0

谢谢你的工作 –