【问题标题】:how to merge from one remote branch to remote master in git?如何在 git 中从一个远程分支合并到远程主控?
【发布时间】:2015-01-06 00:49:42
【问题描述】:

这是我在 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 构建稳定后,我将合并到 origin/XXX_master

那么我将如何进行此合并?即从一个远程存储库到另一个。

我正在考虑这方面的一些事情..

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

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

【问题讨论】:

    标签: git github version-control merge


    【解决方案1】:

    做一个git push,所有来自本地XXX_dev的变化都会合并到远程分支XXX_dev中。

    您无法与 push 合并,因为您无法解决冲突。 Push 要求远程分支上没有任何变化;所以 push 只是上传“丢失”的提交。

    这是正确的吗?或发出git pull git 是否会为所有分支获取和合并?

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

    那么我将如何进行合并?

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

    【讨论】:

    • 1) 所以我需要检查每个分支并再次进行合并。 2) 如果我的本地没有 XXX_master 而只有 XXX_dev 怎么办。这里的实习生可能会遇到的情况。
    • 所以“推送只是上传丢失的提交”;但是当其他人发出 git pull 时,他会得到我推送的所有提交,并且他的 HEAD 将指向最新的提交,对吗?谢谢解释
    • 回复:实习生:要么他们被允许提交到 master,在这种情况下他们跟踪分支是有意义的,或者他们不是,在这种情况下他们不应该这样做并且其他人应该处理合并到主人。无论哪种方式,合并到您没有的分支对我来说都毫无意义(尽管我想不出它不起作用的原因,但没有测试)。回复:git pull:几乎。如果他们在那个分支上,git pull 会将您的分支合并到他们的分支中,并将HEAD 更新为 合并提交(不是您的最新提交),除非它是一个简单的快进。
    • 如果你在master分支上,它只相当于git pull origin master,你的默认远程是origin,你的master分支被跟踪。如果你在XXX_dev 分支上,你的默认远程是origin 并且你的XXX_dev 分支被跟踪,那么git pull 相当于git pull origin XXX_dev。 (链接的答案甚至说“在大多数情况下”。)
    • 确实,在fetch(或pull)之后,您可以checkout每个您感兴趣的分支和merge(或pull)。
    猜你喜欢
    • 2015-01-09
    • 1970-01-01
    • 2014-06-13
    • 2013-11-21
    • 1970-01-01
    • 2011-12-18
    • 2013-05-23
    • 1970-01-01
    • 2014-07-31
    相关资源
    最近更新 更多