一、git協(xié)作方式
1. git的工作流
目前項目使用的是git來進(jìn)行項目管理(需要熟悉git的工作流)、git的團(tuán)隊協(xié)作流程
1.1 分支管理
目前項目參考的是這個模型

團(tuán)隊協(xié)作
- master:受保護(hù),負(fù)責(zé)分支的版本控制,3.0.0、3.0.1、3.1.0、3.2.0、...
- release:目前還沒有,主要用于線上環(huán)境,分出一個release的分支(介于dev與master中間),作為臨時處理
- dev:開發(fā)分支,也是團(tuán)隊協(xié)作中主要會用到的分支,代碼提交到dev分支,負(fù)責(zé)代碼提交、拉取、審查、合并...
-
feature:成員分支,每個開發(fā)者會建立一個feature,類似feature/xxx,作為個人開發(fā)的分支,用于個人本地代碼的提交、拉取倉庫代碼、合并本地代碼,所以新加成員時,需要創(chuàng)建一個個人的feature分支
項目分支
1.2 代碼提交
個人git的代碼提交
- 首先,需要先將dev的代碼merge dev到feature
- 再通過feature進(jìn)行commit
- 并push本地代碼到倉庫
- 在gitlab的管理頁面進(jìn)行代碼合并的申請
-
等待團(tuán)隊成員review代碼,進(jìn)行合并
提交合并請求
1.3 代碼審查
審查方式有兩種:
- 如果團(tuán)隊控制在6人以內(nèi),可以由2個能力比較強(qiáng)的、業(yè)務(wù)熟悉的來統(tǒng)一作為代碼reviewer;
- 如果團(tuán)隊人員比較多,可以任務(wù)級別的兩兩互相reviewer
1.4 代碼合并
具有主要開發(fā)者權(quán)限,可以進(jìn)行最后的合并操作,feature的分支合并到dev分支,dev分支合并到release或master分支;
建議:需要添加標(biāo)簽、里程碑!方便后面的成員管理。
2. gitlab-issue與wiki
進(jìn)行團(tuán)隊協(xié)作(可用jira代替)
2.1 執(zhí)行計劃

issue使用
issue的作用表現(xiàn)在方方面面,它可以是用于記錄一些公告、制定OKR、項目討論的內(nèi)容、發(fā)布任務(wù)(日常開發(fā)、探究性、文檔、部署)、重要的技術(shù)積累、一些想法。
目前團(tuán)隊中主要用于:
- OKR-制定周目標(biāo)
- 發(fā)布任務(wù)(由團(tuán)隊成員認(rèn)領(lǐng))
- 發(fā)布公告-記錄一些關(guān)鍵的技術(shù)點
2.2. 里程碑
這也是OKR的一部分,用于標(biāo)記目前代碼提交、任務(wù)發(fā)布過程中所屬階段,確定目前處于什么階段
2.3. 標(biāo)簽/標(biāo)記
這個功能很牛,如果運用得好,就是神器。
目前團(tuán)隊中主要用于:
- 標(biāo)記
優(yōu)先級(優(yōu)先級1、2、3) - 標(biāo)記
參與的成員(可以作為每個月查看成員認(rèn)領(lǐng)了什么任務(wù),完成了什么) - 標(biāo)記
任務(wù)狀態(tài)(正在做、待認(rèn)領(lǐng)、已完成,方便認(rèn)領(lǐng)任務(wù)) - 標(biāo)記
任務(wù)類型(文檔、部署、公告)
參考資料: 基于GitLab的Code Review教程

