目前 git 正在做我的头脑,我无法想出以下最佳解决方案。

有两个分支,一个叫做 master 和一个叫做 mobiledevicesupport 。我想将 mobiledevicesupport 作为一个连续的分支,只要 mobiledevicesupport 稳定,就会与 master 分支 merge/同步。这会将来自 mobiledevicesupport 的更改 merge 到 master 中,但也将所有更改从 master 带入 mobiledevicesupport,以便分支可以继续工作并改进或修改功能。这需要与中央存储库和多个开发人员一起使用。

请举一个其他人使用的类似工作流程的例子,或者告诉我这个想法是否愚蠢,我应该考虑其他选择。目前工作流程似乎很合理,但我不知道如何让 git 以这种方式工作。

谢谢,非常感谢所有帮助。

更新 1:
如果我要将 master merge 到 mobiledevicesupport 并将 mobiledevice support merge 到 master 中,我是否会在两个分支之间复制提交。或者 git 足够聪明,可以计算出我已将最新更改从分支 A pull 到分支 B 并将 merge 提交 C 添加到分支 B。并且我已将最新更改从分支 B pull 到分支 A 并将 merge 提交 D 添加到分支一种?

我打算发布一张图片,但我没有足够的声誉,所以我想下面的插图将不得不做。两个分支连续运行, merge 经常双向进行。我不确定的关键是 git 将如何执行提交,以及它是否会在 merge 时用来自另一个分支的提交填充任一分支,或者它会保持干净。我之前使用过 rebase,但它似乎结束了分支并将所有提交放入 master,或者我做错了。感谢你目前的帮助。

master
A--B--C-----H--I--J--M--N
       \   /    \
mobile  \ /      \
D--E--F--G--------K--L

最佳答案

是的就做

git checkout master
git pull
git checkout mobiledevicesupport
git merge master

保持 mobiledevicesupport 与 master 同步

然后当你准备好将 mobiledevicesupport 放入 master 时,首先像上面一样 merge master,然后......
git checkout master
git merge mobiledevicesupport
git push origin master

就是这样。

这里的假设是 mobilexxx 是一个主题分支,其工作尚未准备好进入您的主分支。所以只有在mobiledevicesupport处于良好位置时才 merge 到master

关于git - 如何保持分支与 master 同步/更新?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16329776/

10-13 09:01
查看更多