Bom*_*ber 5 git git-flow atlassian-sourcetree
我目前正在使用 git flow 和 sourcetree。冲刺的工作已达成一致,我创建了开发分支以将代码提交到其中。我将功能分支合并到开发中,然后在冲刺结束时我合并到主分支,代码进入生产。
这工作得很好,但是,如果修复需要推送到 master 或其他工作被购买到 sprint 中,则需要对提交进行排序并挑选到 master 中,这可能会变得非常混乱。
这可能会导致很多阻碍,因为在其他工作可以投入开发之前,需要将工作推向掌握、测试和签署。
有没有办法安全地引入新工作并致力于开发?
TTT*_*TTT 11
我将功能分支合并到开发中,然后在冲刺结束时我合并到主分支,代码进入生产。
如果您愿意,您当然可以这样做,但通常在 Git Flow 中您不会develop 直接合并master,因为您遇到了具体的问题:
这可能会导致很多阻碍,因为在其他工作可以投入开发之前,需要将工作推向掌握、测试和签署。
Git Flow 避免这些问题的方法是使用release和hotfix分支。(详情请参阅图表。)
您只需在发布之前创建一个release用于测试的分支,因此工作develop永远不必停止。(请注意,您不必release从 的尖端创建分支develop;您可以使用您希望从中分支的任何先前提交。)
当您需要对生产进行修补程序时,您可以创建一个hotfix分支master。
master在您的代码从release或hotfix分支合并到后,您也将合并master回develop. (或者您可以在将release和分支合并到 之前将它们合并hotfix回,但恕我直言,之后合并会稍微干净一些并且更易于管理。)developmastermaster
旁注:和分支通常是明确定义的,但是,由于您当前在没有它们的情况下工作,您仍然release可以在没有它们的情况下工作,但需要进行一些细微的调整。例如,假设您使用当前的版本并开始在某个地方测试构建,然后您喜欢它并希望将其发布到生产中。您实际上有一个分支,但没有命名。这只是您测试的提交 ID。当您发布时,只需将该提交 ID 合并到其中,而不是可能在该提交之前。这样,您就不会合并开始测试后发生的任何新代码。本质上,这与创建专用分支相同,但没有实际命名。修补程序也是如此。通常,修补程序是单个提交中的微小更改。我建议将 master 分支到某个分支,但不必调用它;任何名字都可以。然后PR该分支进入并在完成后合并回,或者,正如Git Flow指出的那样,如果分支已经存在,则合并回而不是(尽管如果您希望更快地修复那里,您也可以合并回)。hotfixdevelopreleasedevelopmasterdevelopdevelopreleasehotfixmastermasterdevelopreleasemasterreleasedevelopreleasedevelop
旁注:我听到的关于 Git Flow 最常见的抱怨是它过于复杂。我发现复杂性对于某些组织来说是绝对必要的,而对于其他组织来说当然不是必需的。您可以选择要使用的部分,并在必要时进行调整。如果您还不需要分支,那就太好了 - 只需调整您的工作流程,以便在发布时release仅合并提交 ID 。但如果您发现需要针对该提交 ID 进行错误修复,也许您可以动态创建一个分支。大多数时候,您无需专门的分支机构就可以过得去。developmasterreleaserelease
| 归档时间: |
|
| 查看次数: |
6864 次 |
| 最近记录: |