當前位置: 妍妍網 > 碼農

教你一招,保護你的計畫程式碼!

2024-03-21碼農

大家好,我是程式設計師魚皮,今天分享一個團隊開發的小知識。

團隊開發時,我們一般會使用 GitHub 等程式碼托管平台來維護計畫的程式碼。比如我們公司的每個計畫,都在 GitHub 上有對應的程式碼庫。

GitHub 上的程式碼庫,可以設定為 public(公開)或 private(私有)兩種存取許可權,這點我相信大家都知道。

團隊內部的計畫,一般都會設定為 private 私有許可權,然後再設定允許存取的人員和團隊。

但如果只做上面這件事,我們的計畫程式碼真的安全麽?

當然不是!因為團隊成員可能會寫 Bug、可能會因為不熟悉 Git 工具導致錯誤的程式碼送出。

雖然團隊內部已經客製了程式碼送出規範,比如不能直接把程式碼推播到 master 主分支(一般是穩定版本),但有時大家可能為了方便,還是直接把未經檢查的程式碼推播到了主分支,導致出現了線上 Bug。

如果無法人為保證程式碼送出規範和程式碼庫的安全,那就交給系統來保障吧!

如何保護計畫程式碼?

首先,我們要在設定面板中給程式碼庫增加分支保護規則,如圖:

隨便設定個規則名稱,然後可以透過 bypass list 配置不受該規則限制的使用者或團隊,這裏無需配置,一視同仁。

接著往下,設定要保護的分支,比如預設分支(一般是 main 或 master):

設定具體的規則,比如預設勾選的 「禁止刪除」、「禁止強制送出」 等:

好了,現在大家想要修改主分支的程式碼,就必須要提一個 PR(Pull Request),其他成員可以透過 PR 閱讀你修改的程式碼,等待 PR 被透過後才能合並到主分支。

就像這樣:

但是,現在主分支的程式碼依然是不安全的!因為團隊的成員仍然可以自己透過自己的程式碼!

這就有點脫褲子放屁的感覺了。。。

所以,我們還要再開啟一個分支保護配置,設定必須至少 2 人審查程式碼並透過 PR 後,才能合並程式碼。

如圖,還可以設定 「必須讓 Code Owners 透過 PR才能合並」 等更精細的策略:

這樣一來,計畫程式碼庫就安全了很多~ 至少可以避免一些違規操作。

最後

以上就是本期分享,只需要很簡單的操作就能完成,大家在團隊開發的時候都可以試試~

👇🏻 點選下方閱讀原文,獲取魚皮往期編程幹貨。

往期推薦