这是我在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
- 但不确定这是否是正确的做法?
非常感谢任何帮助。谢谢你,新年快乐:)
答案 0 :(得分:3)
执行
git push
,本地 XXX_dev 的所有更改都将合并到远程分支 XXX_dev 。
您无法与推送合并,因为您无法解决冲突。推送要求远程分支不要进行任何更改;所以push只上传“遗失”提交。
这是对的吗?或发出
git pull
为所有分支进行git获取和合并?
它获取所有内容,并合并当前分支。合并所有分支是不可能的;再次,您将如何解决冲突?
那我怎么做这个合并?
为什么必须远程?如果跟踪分支,只需将XXX_dev
合并到XXX_master
并推送。