首頁  >  文章  >  開發工具  >  聊聊Gitlab中如何設定保護分支並且提交PR

聊聊Gitlab中如何設定保護分支並且提交PR

青灯夜游
青灯夜游原創
2023-03-30 21:01:365170瀏覽

這篇文章進行Gitlab的學習,聊聊如何設定保護分支並且給自己的Leader提交一個PR,希望對大家有幫助!

聊聊Gitlab中如何設定保護分支並且提交PR

如何設定保護分支

保護分支是幹嘛的呢?

前面我們在git flow工作流程中介紹過,master|main(主分支)分支是上線分支,如果每個開發人員都能隨意的在主分支push程式碼,假如上線的時候,哪個開發不小心把自己不需要上線的程式碼(有可能有很多bug)push到了主分支,上線的時候一起帶上去了,那麼造成的損失有可能無法挽回。所以我們需要設定主分支不允許push,只能用PR的方式把自己的程式碼合併到主分支。

下面我們來操作一下。在專案中找settings->Repository->Protected branches,選擇受保護的分支,這裡我們的主分支是main,然後選擇merge權限為Maintainers,不允許任何人push程式碼到主分支。最後點選profect

聊聊Gitlab中如何設定保護分支並且提交PR下面我們來push一下程式碼試試看

聊聊Gitlab中如何設定保護分支並且提交PR可以很明顯的看到,已經不讓任何人推送程式碼了。要推送程式碼,只能另外新建分支去推送到遠端,然後把程式碼合併到主分支。

要如何提交Merge request

為什麼會有Merge reqeust呢?

前面提到,main分支是我們的保護分支,已經不需要本地push程式碼,那麼我們的程式碼要如何合併到主分支呢?這時候就需要開發人員發起一個Merge reqeust來把我們的程式碼合併到main分支了。 Merge request還有一個用途很重要,那就是code review

何為code review呢?

code review翻譯過來就是程式碼審查。一個公司,一個團隊,對代碼是有規範的,對代碼是有要求的,對質量是有要求的,你寫的代碼是要經過你的leader審查的,才能合併到主分支,所以這一步操作在你主管合併之前,會吧你寫的程式碼肉眼過一遍,確保不會出現重大線上問題才會給你合併,如果有問題,會讓你重新改程式碼重新提交Merge requst ,直到符合上線要求。這樣做的目的呢,也是為了確保上線不出問題,畢竟出了重大的線上bug,你的leader是要承擔責任和風險的,問題嚴重的部門領導也跟著倒霉。所以,我們寫程式的同時也要非常的嚴謹。

講了這麼多,下面我們實際操作一下。

在本地新建一個dev分支,然後修改一些東西push到遠程,首次推送需要使用git push -u origin dev,因為遠程沒有這個分支。

刷新頁面可以看到,我們現在在main分支,上面顯示一個Create merge request按鈕,這裡就是我們發起merge請求的地方,點擊一下

進入到merge頁面,這裡我們可以看到我們現在是想把dev分支merge到main分支,如果想合併其他的分支,點擊change branches即可修改。 titledescription可以填入你提交merge相關的功能描述。

AssigneeReviewer為受讓人和審查人員,直白一點就是想的程式碼誰給你審查,你就選擇誰。

這裡可以看到你這次合併提交的commit資訊和修改內容

最後,點選Create merge request,即可發起一個merge請求,剩下的事情就是你的leader審查程式碼了。

你的leader看到的merge訊息是這樣子的,這裡他可以看到你的commits和changes,從而看到你的程式碼的修改內容。如何沒有問題,點選Merge按鈕即可合併。

以上就是一個完成Merge reqeust的過程以及它的重要性。

merge的過程中還可以涉及到CI/CD的一些工作,例如對程式碼規格做lint校驗,程式碼單元測試等工作,後文會一一講到。

(學習影片分享:程式設計基礎影片

以上是聊聊Gitlab中如何設定保護分支並且提交PR的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn