本文僅為說明工作中的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è)簡單的模板:?
這時(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é)同工作流的基本步驟焕数。希望大家使用愉快