最近我在GIT中发现了一个工作流程的三个概念:GitFlow,GitHub Flow和GitLab Flow。我读过关于它的好文章(https://docs.gitlab.com/ee/workflow/gitlab_flow.html),但我不太了解GitLab Flow。也许是因为我不是母语:)GitHub Flow和GitLab Flow有什么区别?
简而言之。
GitFlow(https://docs.gitlab.com/ee/workflow/gitdashflow.png)。
我们有一个主分支作为生产分支。此外,我们还有一个开发分支,每个开发人员都合并他的功能。有时我们会创建一个发布分支来部署我们的功能。如果我们在发布分支中存在错误,请修复它并将更改拖入开发分支。如果我们在生产中遇到严重错误,请创建新的修补程序分支,修复错误并将分支合并到生产(主)并开发分支。
如果我们很少显示我们的工作结果,这种方法非常好。 (也许每2周一次)。
GitHub Flow(https://docs.gitlab.com/ee/workflow/github_flow.png)。
我们有一个主分支作为生产分支。我们(作为开发人员)只能创建分支来添加新功能或修复错误并将其与生产(主)分支合并。听起来很简单。这种方法适用于生产部门每天部署数次的极端编程。
GitLab Flow(https://docs.gitlab.com/ee/workflow/production_branch.png,https://docs.gitlab.com/ee/workflow/environment_branches.png,https://docs.gitlab.com/ee/workflow/release_branches.png)。
我已经看到像预生产,生产,发布(稳定)分支和临时环境,预生产环境和生产环境这样的新术语。他们之间有什么关系?
我明白这一点:如果我们需要添加一个新功能,我们会从主分支部署一个预生产分支。当我们完成该功能后,我们从预生产分支部署生产分支。预生产分支是中间阶段。然后主分支从生产分支中提取所有更改。
如果我们想要查看每个单独的功能,该方法很好。我们只需在分支中签出我们需要和看的东西。
但是,如果我们需要展示我们的工作,我们会尽可能晚地创建一个带有标签的发布分支。如果稍后我们修复主分支中的错误,我们需要将它们挑选到最后一个发行版分支。最后,我们发布了带有可帮助我们在各个版本之间移动的标签的分支。
我的视力正确吗? 拉和樱桃采摘有什么区别?