我在 SCM 工作,使用各种工具(Subversion、Clearcase、TFS、Perforce)和技术(主要是.NET、Java)。在我开始工作之前,正常的业务顺序是创建一个受控分支。
我将受控分支定义为: - 一个单独的分支,其中包含开发人员无法访问的提升代码。只有一个构建工程师团队可以访问它。
受控构建: - 构建引擎从受控分支获取代码并生成开发人员无法修改的工件。
因此,作为受控构建过程的一部分,合并到这个分支已成为重要的一步。这可能会产生速度和错误的问题(这将主要通过自动化来缓解)。
好处:自动代码锁定(因为开发人员不能修改分支)分支名称可以不同(其他团队不一定遵循标准化的做法,我们不一定能够施加所需的压力。)查找确切版本代码的简单方法状态(即版本的受控分支中的最新代码是去生产的)
缺点:在与开发人员讨论问题时,速度将开发构建与受控构建相匹配(这是自动化的,但有点混乱)。错误(过程中另一个混乱的地方) 安全/角色分离功能是否可以通过使用变更列表/变更集/不可变标签来完全处理?
问题:
我应该建议从当前的受控分支策略转移吗?我错过了其他好处吗?