GitLab - Merge Request

當創建一專案後,GitLab 會預設可以針對 main branch 進行 push 和 merge 的只有 Maintainers 這個 role(當然還有 Owner)。 gitLab_branchRules

因此當一擁有 Developer role 的成員想要 push main 時會出現以下訊息: gitLab_notPushMain

此時則不是 push main,而是將自己的修改 push 上去後,創建 Merge request。 gitLab_createMergeRequest

Merge Request 設定

若想設定每一個 Merge request 都需要有固定人數同意,可前往 Settings --> Merge request,網頁往下滾動可看到 Merge request approvals 設定 gitLab_settings_mergeRequest_1 gitLab_settings_mergeRequest_2 橘框處可選擇 Merge request 需要幾人同意;綠框處則可以設定該 Merge request author 是否不能 approve、若有產生新的 commit,已 approve 的紀錄是否要留存或刪除......等。

非該 Merge request 的 author 進入 Merge request 後,可看到有 Approve 按鈕,也因已有設定 Merge Request 需要 1 人同意,目前不能執行 Merge。 gitLab_mergeRequest_isApprove

按下 Approve 後即可看到 Merge 按鈕(Owner)。 gitLab_mergeRequest_approved

若為該 Merge request 的 author 進入 Merge request,會出現以下畫面,沒有 Approve 按鈕 gitLab_mergeRequest_author

而 Approve 後 author 會收到 Email 通知 gitLab_mergeRequest_approved_authorEmail

另也可在 Merge Request 內留下針對此次 Merge 的意見 gitLab_mergeRequest_comment

若指定人數已同意此 Merge Request,則可按下 Merge,Merge 完成後會出現相關訊息 gitLab_merged