大家公司都是怎么管理代码权限的呢?
如何看待字节跳动一实习生删除公司 GB 以下所有机器学习模型,事情经过是怎样的?事故影响有多大?(https://www.zhihu.com/question/466656197)
看到知乎这个问题
我司从两个方面实施吧,一是基于gitgerrit等项目进行适配改造,基本逻辑就是通过接入代码扫描等各类自动化扫描工具,提交之前扫描一遍有没有违规内容,以及架构或者成熟工程师审批;
Gerrit 是建立在Git版本控制系统之上并且基于Web的一个免费开源的轻量级代码审查工具。
作为开发者和Git之间的一层屏障,不允许直接将本地修改内容同步到远程仓库中。
与Jenkins集成后,可以在每次提交代码后,人工审核代码前,通过Jenkins任务自动运行单元测试、构建以及自动化测试,如果Jenkins任务失败,会自动打回本次提交。
一般Git、Gerrit和Jenkins集成后的使用流程
1,开发者提交代码到Gerrit
2,触发对应的Jenkins任务,通过以后Verified加1
3,人工审核,审核通过后code review加2,触发对应的Jenkins任务
4,通过以后确认本次提交,Gerrit执行与Git仓库的代码同步操作
5,代码进入Git仓库
二是分支管理开发,这个内容就比较多了,一般就是开发是一个分支,测试、发版是一个分支,把对应开发、测试、准入环境隔离开。