如何在git中从一个远程分支合并到远程主分支?

时间:2015-01-06 00:49:42

标签: git github version-control merge

这是我在git工作中的工作流程: 如果您发现任何不良或我的理解不正确,请更正;

我跑

git branch -vv
 dev               0ac3415 [origin/dev: behind 29] 
 master            8d9d84f [origin/master: behind 109]  -- Merge branch 'dev'
 XXX_dev ad3a2df [origin/XXX_dev: ahead 4] Merge branch 'XXX_dev' of my.company.com:AAA_BBB_CCC into XXX_dev
XXX_master 8c55372 [origin/XXX_master] Merge branch 'master' of my.company.com:AAA_BBB_CCC

以下是我的理解:

1)我在本地有四个分支,分别是 dev,master,XXX_dev和XXX_master 。这些分支中的每一个都跟踪具有相同名称的远程分支

2)我在XXX_dev分支。如果我在XXX_dev中有本地提交并执行git push, 来自本地 XXX_dev 的所有更改将合并到远程分支 XXX_dev 中。同样,当我发出git pull时,来自 origin / XXX_dev 的所有更改都将被拉出并合并到我的本地 XXX_dev 中。它是否正确?或发出git pull为所有分支进行git获取和合并?

3)我们的开发策略是XXX_dev中的所有更改都将被推送到origin/XXX_dev。在QA团队批准origin/XXX_dev版本稳定后,我会合并到原点/ XXX_master

那我怎么做这个合并?即从一个远程存储库到另一个远程存储库。

我正在考虑这条线......

git push origin/XXX_dev origin/XXX_master - 但不确定这是否是正确的做法?

非常感谢任何帮助。谢谢你,新年快乐:)

1 个答案:

答案 0 :(得分:3)

  

执行git push,本地 XXX_dev 的所有更改都将合并到远程分支 XXX_dev

您无法与推送合并,因为您无法解决冲突。推送要求远程分支不要进行任何更改;所以push只上传“遗失”提交。

  

这是对的吗?或发出git pull为所有分支进行git获取和合并?

它获取所有内容,并合并当前分支。合并所有分支是不可能的;再次,您将如何解决冲突?

  

那我怎么做这个合并?

为什么必须远程?如果跟踪分支,只需将XXX_dev合并到XXX_master并推送。