教你一招,保护你的项目代码!
大家好,我是程序员鱼皮,今天分享一个团队开发的小知识。
团队开发时,我们一般会使用 GitHub 等代码托管平台来维护项目的代码。比如我们公司的每个项目,都在 GitHub 上有对应的代码库。
![](https://filescdn.proginn.com/d0049920e46e6cdcdc32b41aef8c8007/9e440cc5e1759aa7062925120dfa77e9.webp)
GitHub 上的代码库,可以设置为 public(公开)或 private(私有)两种访问权限,这点我相信大家都知道。
团队内部的项目,一般都会设置为 private 私有权限,然后再设置允许访问的人员和团队。
![](https://filescdn.proginn.com/6e1c99ee9b194ac18e58ef2ab05fe2a8/c7c7f14f1f3e6d59b291496f3bd95b1b.webp)
但如果只做上面这件事,我们的项目代码真的安全么?
当然不是!因为团队成员可能会写 Bug、可能会因为不熟悉 Git 工具导致错误的代码提交。
虽然团队内部已经定制了代码提交规范,比如不能直接把代码推送到 master 主分支(一般是稳定版本),但有时大家可能为了方便,还是直接把未经检查的代码推送到了主分支,导致出现了线上 Bug。
如果无法人为保证代码提交规范和代码库的安全,那就交给系统来保障吧!
如何保护项目代码?
首先,我们要在设置面板中给代码库增加分支保护规则,如图:
![](https://filescdn.proginn.com/31d4412dac56ff66388d8b204f071040/92d704babd5b97ecfdb73908e1e61502.webp)
随便设置个规则名称,然后可以通过 bypass list
配置不受该规则限制的用户或团队,这里无需配置,一视同仁。
![](https://filescdn.proginn.com/e112a2a40303f69764a5a7ddb36bbd92/ec86df3fb93227fd205b15f62c1d872a.webp)
接着往下,设置要保护的分支,比如默认分支(一般是 main 或 master):
![](https://filescdn.proginn.com/4242ded94ef016cf1b07449b21c135af/76d7ce3733b346a1c5fcec5d8aebd779.webp)
设置具体的规则,比如默认勾选的 “禁止删除”、“禁止强制提交” 等:
![](https://filescdn.proginn.com/5ef1b61fd28aedfac248b83840fb61be/5ca160bcd30bf2f0cbb7da310570d17a.webp)
好了,现在大家想要修改主分支的代码,就必须要提一个 PR(Pull Request),其他成员可以通过 PR 阅读你修改的代码,等待 PR 被通过后才能合并到主分支。
就像这样:
![](https://filescdn.proginn.com/c97813237774d17ffe788a62c8e479ed/e844887c39d69f0f176bcaab439b33e6.webp)
但是,现在主分支的代码依然是不安全的!因为团队的成员仍然可以自己通过自己的代码!
这就有点脱裤子放屁的感觉了。。。
所以,我们还要再开启一个分支保护配置,设置必须至少 2 人审查代码并通过 PR 后,才能合并代码。
如图,还可以设置 “必须让 Code Owners 通过 PR才能合并” 等更精细的策略:
![](https://filescdn.proginn.com/93eb05dfc710c0a9cc05b49ae3af9dcd/2929ab60fc02ac2dce62cb8142e9e73e.webp)
这样一来,项目代码库就安全了很多~ 至少可以避免一些违规操作。
最后
以上就是本期分享,只需要很简单的操作就能完成,大家在团队开发的时候都可以试试~
👇🏻 点击下方阅读原文,获取鱼皮往期编程干货。
往期推荐