本篇文章進行gitlab的學習,聊聊如何設置保護分支并且給自己的leader提交一個pr,希望對大家有所幫助!
如何設置保護分支
保護分支是干嘛的呢?
前面我們在git flow工作流當中介紹過,master|main(主分支)分支是上線分支,如果每個開發人員都能隨意的在主分支push代碼,假如上線的時候,哪個開發不小心把自己不需要上線的代碼(有可能有很多bug)push到了主分支,上線的時候一起帶上去了,那么造成的損失有可能無法挽回。所以我們需要設置主分支不允許push,只能通過PR的方式把自己的代碼合并到主分支。
下面我們來操作一下。在項目中找settings->Repository->protected branches,選擇受保護的分支,這里我們的主分支是main,然后選擇merge權限為Maintainers,不允許任何人push代碼到主分支。最后點擊profect
下面我們來push一下代碼試試
可以很明顯的看到,已經不讓任何人推送代碼了。要推送代碼,只能另外新建分支去推送到遠程,然后把代碼合并到主分支。
如何提交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即可修改。title和description可以填寫你提交merge相關的功能描述。
Assignee和Reviewer為受讓人和審查人員,直白一點就是想的代碼誰給你審查,你就選擇誰。
這里可以看到你本次合并提交的commit信息和修改內容
最后,點擊Create merge request,即可發起一個merge請求,剩下的事情就是你的leader審查代碼了。
你的leader看到的merge信息是這樣子的,這里他可以看到你的commits和changes,從而看到你的代碼的修改內容。如何沒有問題,點擊Merge按鈕即可合并。