Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git Cherry为稳定的分支选择新功能_Git_Mercurial_Continuous Integration_Branch_Dvcs - Fatal编程技术网

Git Cherry为稳定的分支选择新功能

Git Cherry为稳定的分支选择新功能,git,mercurial,continuous-integration,branch,dvcs,Git,Mercurial,Continuous Integration,Branch,Dvcs,在向稳定的分支机构引入新功能的业务流程方面,我们有以下要求。 我们有一条稳定的生产线,可以交付给我们的客户。此外,我们还有一条开发线,用于开发新功能。有时,我们决定需要将一些开发的特性引入到一个稳定的发布产品线中。不是全部,而是其中的一些。如何组织分支(我们使用的是mercurial),这样我们就可以挑选想要应用于稳定分支的功能了? 另一方面,我们需要有一个分支,将所有功能集成到一个分支中,称之为dev branch(它源自稳定分支) 其中一个想法是为每个功能提供一个稳定的分支,dev分支(从s

在向稳定的分支机构引入新功能的业务流程方面,我们有以下要求。
我们有一条稳定的生产线,可以交付给我们的客户。此外,我们还有一条开发线,用于开发新功能。有时,我们决定需要将一些开发的特性引入到一个稳定的发布产品线中。不是全部,而是其中的一些。如何组织分支(我们使用的是mercurial),这样我们就可以挑选想要应用于稳定分支的功能了?
另一方面,我们需要有一个分支,将所有功能集成到一个分支中,称之为dev branch(它源自稳定分支)

其中一个想法是为每个功能提供一个稳定的分支,dev分支(从stable一次派生而来)和一个单独的分支。

bug在稳定的分支上得到解决,并且不时地,更改被拉到其他分支(开发和功能分支)。一旦做出将特定特征集成到稳定分支的决策,那么只有给定的特征分支与稳定分支合并。此外,功能分支会不时地拉到开发分支上(用于集成正在开发的所有功能)。

您的潜在解决方案会起作用,并且非常类似于,可以轻松地应用于mercurial

Master将是您的稳定分支(可能是“默认”),您将首先进入发布分支,这可能是一个好主意,也可能是一个坏主意,这取决于您的开发/测试过程。无论哪种方式,标记发布都是一个好主意

您可以只将已完成的功能合并到dev中,然后将其分发到其他活动功能分支,而不是定期将功能分支合并到dev分支中。如果优先级发生变化(当然是在完成集成测试之后),这使您能够灵活地提前发布已完成的功能。如果您定期将不完整的特性合并到dev分支中,如果突然决定需要尽快发布一个已经完成的特性,那么您将很难找到一个安全的发布点。如果您特别担心与某个功能分支的集成问题,并且希望尽早发现这些问题,那么您仍然可以选择将一个功能分支直接合并到另一个功能分支中

如Gitflow所述,使用修补程序/维护分支将允许您维护“稳定”分支的神圣性。您可以为每个单独的修复进行分支,将其合并并在完成后关闭分支,或者保留一个正在进行的维护分支,该分支必须与Stable保持同步。我更喜欢为每个修复程序进行分支的灵活性


此外,对于短期分支,例如小的特征或热修复,您可以考虑使用,但这取决于您对更改历史的感觉。

假设您必须经历一个测试阶段,以便被认为是“稳定的”更改,您就不能在稳定的情况下直接进行修改,并认为它是稳定的。除非您在开发人员机器上构建的版本上测试潜在的修复程序,否则在发布到共享repo.yap之前,错误修复程序将在开发人员机器上构建的版本上测试,但暂时忘记稳定分支的名称,我只是将其作为一个示例。我下面的回答仍然适用,但是您可以放弃维护分支,尽管对于需要几天以上时间的修复,我至少仍然会使用书签。