目前我正在分支合并sprint ticket分支(每个故事都有一个单独的分支)。所有开发人员都为他们的故事创建了一个分支,并将他们的变化/影响合并到各自的分支机构。
我已经使用了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
现在我需要将这些分支合并到Q.A分支,如下所示(当前分支为QA_sprint_1.11
),
git merge DEV-933
但是我收到了像
这样的错误致命:'DEV-933'没有指向提交
`
这意味着分支DEV-933
仅存在于原始而不存在于我的本地git服务器中。所以我将分支DEV-933
签出到我的本地服务器并尝试了git merge并且工作正常。
问题:目前我有四个来自开发者的分支机构,但有时候我可能每个sprint有10个分支,那时我不能去检查每个分支一个接一个地进行合并。
是否还有其他方法可以在单个命令中完成上述任务 或者GIT中的步骤。
答案 0 :(得分: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
等等