教你一招,保護(hù)你的項(xiàng)目代碼!
大家好,我是程序員魚皮,今天分享一個(gè)團(tuán)隊(duì)開發(fā)的小知識。
團(tuán)隊(duì)開發(fā)時(shí),我們一般會使用 GitHub 等代碼托管平臺來維護(hù)項(xiàng)目的代碼。比如我們公司的每個(gè)項(xiàng)目,都在 GitHub 上有對應(yīng)的代碼庫。
GitHub 上的代碼庫,可以設(shè)置為 public(公開)或 private(私有)兩種訪問權(quán)限,這點(diǎn)我相信大家都知道。
團(tuán)隊(duì)內(nèi)部的項(xiàng)目,一般都會設(shè)置為 private 私有權(quán)限,然后再設(shè)置允許訪問的人員和團(tuán)隊(duì)。
但如果只做上面這件事,我們的項(xiàng)目代碼真的安全么?
當(dāng)然不是!因?yàn)閳F(tuán)隊(duì)成員可能會寫 Bug、可能會因?yàn)椴皇煜?Git 工具導(dǎo)致錯(cuò)誤的代碼提交。
雖然團(tuán)隊(duì)內(nèi)部已經(jīng)定制了代碼提交規(guī)范,比如不能直接把代碼推送到 master 主分支(一般是穩(wěn)定版本),但有時(shí)大家可能為了方便,還是直接把未經(jīng)檢查的代碼推送到了主分支,導(dǎo)致出現(xiàn)了線上 Bug。
如果無法人為保證代碼提交規(guī)范和代碼庫的安全,那就交給系統(tǒng)來保障吧!
如何保護(hù)項(xiàng)目代碼?
首先,我們要在設(shè)置面板中給代碼庫增加分支保護(hù)規(guī)則,如圖:
隨便設(shè)置個(gè)規(guī)則名稱,然后可以通過 bypass list 配置不受該規(guī)則限制的用戶或團(tuán)隊(duì),這里無需配置,一視同仁。
接著往下,設(shè)置要保護(hù)的分支,比如默認(rèn)分支(一般是 main 或 master):
設(shè)置具體的規(guī)則,比如默認(rèn)勾選的 “禁止刪除”、“禁止強(qiáng)制提交” 等:
好了,現(xiàn)在大家想要修改主分支的代碼,就必須要提一個(gè) PR(Pull Request),其他成員可以通過 PR 閱讀你修改的代碼,等待 PR 被通過后才能合并到主分支。
就像這樣:
但是,現(xiàn)在主分支的代碼依然是不安全的!因?yàn)閳F(tuán)隊(duì)的成員仍然可以自己通過自己的代碼!
這就有點(diǎn)脫褲子放屁的感覺了。。。
所以,我們還要再開啟一個(gè)分支保護(hù)配置,設(shè)置必須至少 2 人審查代碼并通過 PR 后,才能合并代碼。
如圖,還可以設(shè)置 “必須讓 Code Owners 通過 PR才能合并” 等更精細(xì)的策略:
這樣一來,項(xiàng)目代碼庫就安全了很多~ 至少可以避免一些違規(guī)操作。
最后
以上就是本期分享,只需要很簡單的操作就能完成,大家在團(tuán)隊(duì)開發(fā)的時(shí)候都可以試試~
???? 點(diǎn)擊下方閱讀原文,獲取魚皮往期編程干貨。
往期推薦
