我们目前在做一个非开源项目,团队大约 50 人,平均每天提交 20-30 次。由于其中一些人是初级开发人员,我们必须实现一个不允许所有人都提交到我们的主存储库的系统。
到目前为止,我们使用的是具有这种结构的 SVN:
- trunk - 包含所有开发人员代码
- 分支 - 包含所有经过验证的代码
有时,一位资深开发人员“进入”主干并将其与分支合并,拒绝所有未批准的代码(当有大量未批准的代码要恢复时,这会变得很疯狂)。最后,当主干只有批准的代码时,两者之间会完全合并。
最近我们开始用 Git 和 GitLab 进行一些测试,看看 Git 审批系统是否值得从 SVN 迁移,以缓解所有这些疯狂的合并。
起初它看起来很有希望,但过了一段时间我们得出了一个令人失望的结论,即没有神奇的公式。我们创建了一个受保护的主分支,只有高级开发人员才能访问将更改推送到其中,但随后出现了有问题的部分……初级开发人员。
也许是因为我们太习惯了 SVN 的方式,我们找到的唯一解决方案是创建一个“初级分支”,但这基本上会模仿我们已经使用 SVN 的行为(和令人头疼的问题)。
请告诉我我们遗漏了什么,或者我们是否以错误的方式处理问题。
编辑 当我说批准的代码时,我指的是对所有类结构的验证、正确的对象实例化......而不是换行符、制表符(和类似的)是否正确。