【发布时间】:2021-05-14 11:10:02
【问题描述】:
我们正在从 TFVC 迁移到 GIT,在 TFVC 中,我们曾经管理 DEV 分支进行开发和 Master 分支进行发布。
TFVC 分支机构管理
- 每个开发人员都将在 DEV 分支上工作,他们将在 DEV 分支上提交他们的更改。
- 构建将从 DEV 分支部署到 Staging ENV(staging 是我们的内部环境。)
- 一旦我们完成了正在进行的 Sprint 的 PCR/新集成(DEV 分支)并且我们准备好上线,我们曾经将更改从 DEV 合并到主分支。
- 将在 UAT / BETA(客户端测试环境)上从 Master 部署构建。
- 一旦他们验证并发出 go 信号,就会在 Live 上部署相同的构建。
使用这种方式只用于管理 TFVC 中的 DEV 和 Master 分支。
现在在 GIT 中,每个开发人员在开始处理任何 PCR/新集成时都会创建自己的分支。一旦他们完成更改,这些将使用 Pull Request 合并到 Master 中(我知道我们可以在更改合并后删除分支,但我看到人们没有遵循这个流程)。
仅 2 个月前我们开始使用 GIT,现在我可以看到超过 10-15 个分支,我们没有任何专门的资源来负责管理分支和这个工作流程。
在当前 Sprit / PCR / Hotfix 的开发完成后,我们将在 Staging / UAT / LIVE 上部署构建。 每次实时部署/发布都会维护新分支。
那么在 DEV 存储库中维护开发分支和对于实时/发布分支创建(主/发布)存储库以维护发布分支是个好主意。
这样我只是想把事情分开,你认为这是个好主意吗? 将来我们会面临什么问题,或者他们有更好的方法吗?
【问题讨论】:
-
查看 Gitflow 和 GithubFlow 分支模型。它们很常用,并且适用于大多数团队。
标签: git azure-devops version-control repository release-management