首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Git -上游+功能分支+版本分支

Git -上游+功能分支+版本分支
EN

Stack Overflow用户
提问于 2010-10-29 18:32:43
回答 2查看 455关注 0票数 3

我使用的是rebasing主题分支工作流http://www.golden-gryphon.com/software/misc/packaging.html

但是因为本地测试人员和管理员不喜欢一次性发布分支,所以我需要转移到具有稳定分支的工作区。

唯一可以接受的是合并工作流。现在的问题是,我不知道如何在这个工作流程中使用依赖功能分支。当重新建立基础时,这很简单,对于每个补丁,我只需重新建立依赖于该分支的所有功能分支的基础,一切都恢复正常。有了合并工作流,我不能改变我的功能分支的基数,但合并似乎对此有点疯狂。

有没有更好的方法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-11-02 23:08:40

有了几个长期特性,模型可能看起来像这样:

代码语言:javascript
复制
     o-----o  bugfix
    /       \
o--o--o------o------o  develop branch
       \      \      \
        o-o----o---o--o  long-term feature 1
           \    \   \  \
            o--o-o-o-o--o--o feature 2

基本上,您有一个开发分支,并将错误修复合并到您的开发分支。长期特性分支是开发分支的基础,您可以通过合并来自开发分支的新更改来更新它。

类似地,您有一个基于feature 1的reature 2的feature分支,您可以通过合并new stuff new feature 1分支来更新它。

当feature 1完成后,您可以将其合并回develop,并从develop分支更新feature 2:

代码语言:javascript
复制
     o-----o  bugfix
    /       \
o--o--o------o------o---o---o  develop branch w/ feature 1
       \      \      \ /     \
        o-o----o---o--o       \
           \    \   \  \       \
            o--o-o-o-o--o--o--o-o feature 2
票数 5
EN

Stack Overflow用户

发布于 2010-10-29 21:01:24

合并和rebase工作流之间的主要区别在于,合并在rebase工作流中是不可见的,但它们仍然会发生(在rebase之后,您可以在reflog中看到它们)。甚至还有更多的使用rebase,因为对于要重新建立分支的每个新的变更集,都会执行它自己的合并,而在普通合并工作流中,只完成两个分支头部之间的一次合并。

典型的合并工作流程如下所示:

代码语言:javascript
复制
             o-o-o--------------o         Release1+bugfixes
            /     \              \
o-----o----o--o-o--o---o----o-o-o-o-o--o  develop
       \     /               \     /
        o-o-o Feature 1       o---o Feature 2

短期功能是在开发中开发的,长期功能有自己的分支。Feature分支被合并回develop。对于每个版本,都会从开发中创建一个分支,并在出现错误的发布分支上创建错误修复。当错误修复完成后,它会被合并回开发中。

可以在http://nvie.com/posts/a-successful-git-branching-model/上找到更好的解释。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4051013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档