我使用的是rebasing主题分支工作流http://www.golden-gryphon.com/software/misc/packaging.html
但是因为本地测试人员和管理员不喜欢一次性发布分支,所以我需要转移到具有稳定分支的工作区。
唯一可以接受的是合并工作流。现在的问题是,我不知道如何在这个工作流程中使用依赖功能分支。当重新建立基础时,这很简单,对于每个补丁,我只需重新建立依赖于该分支的所有功能分支的基础,一切都恢复正常。有了合并工作流,我不能改变我的功能分支的基数,但合并似乎对此有点疯狂。
有没有更好的方法?
发布于 2010-11-02 23:08:40
有了几个长期特性,模型可能看起来像这样:
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:
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发布于 2010-10-29 21:01:24
合并和rebase工作流之间的主要区别在于,合并在rebase工作流中是不可见的,但它们仍然会发生(在rebase之后,您可以在reflog中看到它们)。甚至还有更多的使用rebase,因为对于要重新建立分支的每个新的变更集,都会执行它自己的合并,而在普通合并工作流中,只完成两个分支头部之间的一次合并。
典型的合并工作流程如下所示:
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/上找到更好的解释。
https://stackoverflow.com/questions/4051013
复制相似问题