本文僅為說明工作中的GitLab Pull Request工作流,做以演示。
Step 1: 創(chuàng)建項(xiàng)目
其中需要注意: 如果屬于Group級(jí)的項(xiàng)目,也就是屬于多人配合的項(xiàng)目,建議Namespace使用Group name,另外Visibility默認(rèn)為Internal.

Step 2:源倉庫的構(gòu)建
?我們接下來按照步驟來創(chuàng)建一個(gè)自己的項(xiàng)目:

按照步驟操作,我們即可以創(chuàng)建或者導(dǎo)入一個(gè)項(xiàng)目成功:

源倉庫建立后,我們需要注意這時(shí)這個(gè)項(xiàng)目是屬于整個(gè)Group的,每個(gè)開發(fā)需要fork一份源代碼到自己的GitLab賬號(hào)中,作為自己開發(fā)使用的倉庫。點(diǎn)擊右上角的fork就可以發(fā)現(xiàn)代碼成功fork到了自己的名下:

這時(shí)你就可以在自己的項(xiàng)目下隨便折騰了。
Step 3:在自己的項(xiàng)目上進(jìn)行開發(fā)
這一步應(yīng)該不用教,git clone,git add , git commit , git push ,如果需要的話在自己的項(xiàng)目上建立branch,一切都由自己的習(xí)慣決定。
寫一個(gè)簡(jiǎn)單的模板:?

這時(shí)大家可以在origin上面為所欲為了。
Step 4:向管理員提交pull request
假設(shè)我完成了某項(xiàng)功能,需要向線上版本進(jìn)行提交,首先進(jìn)行g(shù)it fetch --all,拉取下來upstream,也就是線上版本的代碼,并且將線上的代碼合并到自己的分支上,解決沖突。

再次進(jìn)行測(cè)試,覺得沒問題后就可以push到GitLab中了。接下來請(qǐng)求管理員把自己倉庫的分支合并到原倉庫的分支下,這就是pull request。

點(diǎn)擊這里進(jìn)入merge request,并且點(diǎn)擊New Merge Request:

將自己的分支提交到主代碼的分支下。

提交一個(gè)Merge Request,請(qǐng)記得寫清楚提交的理由,分配需要為你去做Review的同事。

此外,還可以在評(píng)論框中去at其他的同事,也可以在Commit和Change里看到最新的改變。
Step 5: Code Review
被assign或者at的同事都會(huì)收到郵件要求review,那么也會(huì)進(jìn)入到如上的界面中,各位就可以進(jìn)行Code Review了:

在這里,各位可以針對(duì)某一行提出自己的意見,也可以在評(píng)論里發(fā)表意見。如果沒有問題,可以輸入lgtm(looks good to me),如果各位都認(rèn)為沒問題,就可以Accept Merge Request了。于是就會(huì)看到The Merge Request has been accepted,這時(shí)也就提交到了主代碼上。
如果代碼被評(píng)論過后,評(píng)論者也會(huì)收到消息,修改后push的代碼會(huì)自動(dòng)提交到同一個(gè)merge request里。
6. 番外篇
各位也可以對(duì)自己關(guān)注的項(xiàng)目star,這樣在自己的消息流中收到動(dòng)態(tài),看到一些項(xiàng)目的最新進(jìn)展。
另外,希望大家注意要養(yǎng)成多commit的習(xí)慣,不要讓每個(gè)commit承擔(dān)太多的內(nèi)容。
以上,就是一個(gè)GitLab協(xié)同工作流的基本步驟。希望大家使用愉快