文章彙整

Github的branch權限設定 – Required pull request reviews before merging

By Astral Web 2 months agoNo Comments
首頁  /  網站設計與開發  /  Github的branch權限設定 – Required pull request reviews before merging

有的時候你不希望你的branch直接被其他的branch合併(merge),這時候可以用到github 的protected branch的其中一項功能Required pull request reviews before merging,當這項功能啟用之後,每個對此branch的合併(merge)的請求都需要經過審核人員審核,當審核人員批准(approve),此筆合併的請求才可以完成。接下來實作此功能的流程。

 

範例的repository為 laravel-todo,進入repository主介面,點擊右上角的Settings,然後點擊左邊選單的Branches,接下來點擊主畫面右邊的Add rule,建立一個protected branch。

 

 

Apply rule to 裡面輸入你想要賦予protected功能的branch,此範例所輸入的branch為staging,然後選擇 Require pull request reviews before merging這個選項以及 Require review from Code Owners,接下來按下 Save。

 

 

看到staging顯示在Branch protection rules,表示成功賦予staging protected 功能了。

 

接下來要設定審核人員。

 

順帶一提,下圖顯示e314520513為 staging的建立者,此功能允許審核人員(reviewer)以及建立branch的人員(administrator)做批准的動作。為了整個git merge flow的嚴謹性,筆者不建議用建立者的身分去批准合併請求(merge pull request),因為建立者不需要reviewer就可以直接批准。

 

 

在你的branch裡面新增一個資料夾.github以及在.github資料夾裡面新增一個檔案CODEOWNERS,

 

筆者在檔案裡指定 e314520513jp對staging branch底下的所有檔案都有審核的權限。

 

CODEOWNERS的格式可以參考 Github Help

 

接下來實作對staging做 required pull request review before merging

 

筆者要做的是,將testing 合併(merge)到staging 藉由沒有審核權限的使用者。

 

首先切換到testing

 

 

 

 

新增檔案 testfile-20181228 然後git add

 

 

 

 

 

 

 

 

 

接著建立commit

 

 

 

 

 

 

然後將建立好的commit push到remote 的testing,之後就可以在github上面將testing merge到 staging

 

 

 

 

 

 

 

 

在github 建立一筆Pull request ,注意,建立Pull request的使用者是沒有審核權限的。

 

下圖我們看到,建立Pull request的使用者是e314520513us(沒有審核權限),我們也看到需要e314520513jp做審核。

下個動作筆者將身分切換到e314520513jp。

 

 

筆者已經切換到 e314520513jp

 

 

 

 

 

 

 

 

 

 

 

然後按下右邊的Review changes

 

 

審核的時候有三個選項,選擇第二個選項表示批准(Approve),其他兩個選項不表示批准。

接著按下 Submit review。

 

 

批准完後,再切換到e314520513us,將會看到e314520513jp已經批准(approve)以及Changes approved。最後按下Merge pull request,就完成漫長嚴謹的Merge pull request流程了。

 

 

 

Required pull request reviews before merging這個功能再多人開發的時候是非常需要的,如果任何人都能對你的branch做合併(merge),而沒經過審核,那這個branch很容易就髒掉,會天下大亂,筆者的習慣是staging 或是 Release master 需要Required pull request reviews before merging這個功能,而testing 則不需要。

 

如果有您有更多疑問可以詢問我們,未來會撰寫更多電商網站相關文章,您想知道什麼嗎?歡迎在下方留言給我們。或追蹤我們的粉絲專頁,就不錯過最新文章喔!

以上內容由Astralweb 歐斯瑞編寫製作

 000

推薦文章

Category:
  網站設計與開發

留下回應

你的電子郵件地址不會被公開.

取得獨家電子商務祕技

建立更好的策略靈感

跟上全球的網路趨勢

絕佳的電商解決方案

電子商務戰略全指南

每月發送電商戰略指南,只要填寫E-mail即可訂閱!

請到您的信箱確認,即可完成訂閱。