分支命名
origin/master
和線上代碼一致,隨時(shí)可以切出打熱修復(fù)補(bǔ)丁
origin/develop
開發(fā)主干分支
release_功能名(版本名)
功能主干分支
feature/功能名_模塊名
功能子分支,開發(fā)完成后组去,發(fā)起pr到功能主干分支蹋辅,通過后刪除此分支柒瓣,因此存活時(shí)間為1~2天
hotfix_bug名(版本名)
修復(fù)bug分支喳魏,一般從master切出卖毁,打完熱修復(fù)立刻合并到master分支羡藐。
PR提交規(guī)范
目的:通過降低審核者的閱讀門檻贩毕,提高pr的審核效率,從而保證項(xiàng)目的開發(fā)進(jìn)度仆嗦。
PR的顆粒盡可能小辉阶,基于一個(gè)小功能(開發(fā)時(shí)間4h以內(nèi)),標(biāo)題要寫明pr目的
-
PR備注必須聲明1:修改點(diǎn) 2:影響范圍
PR除了添加審核人之外瘩扼,如果多現(xiàn)有代碼邏輯上有修改的谆甜,則同步@現(xiàn)有代碼作者
在提交PR,告知參與人之后集绰,可以繼續(xù)開發(fā)店印,后續(xù)代碼推送到新分支。審核者有意見需要返工修改時(shí)倒慧,再?gòu)膒r分支切出來統(tǒng)一修改
分支職責(zé)
- master分支按摘,能切出來打hotfix
- develop分支包券,優(yōu)化、修改的點(diǎn)炫贤,和迭代的業(yè)務(wù)功能沒關(guān)系(改動(dòng)可以合并進(jìn)各個(gè)feature)
- feature分支溅固,獨(dú)立的功能分支,從develop分支切出兰珍,不和其他迭代代碼污染(不合并release分支)
- release分支侍郭,要發(fā)布版本的分支,合并了develop分支掠河、各個(gè)feature分支
操作步驟
-
主管建分支
主管新建分支 feature亮元、hotfix ,分支任務(wù)工作量0.5-1個(gè)工作日唠摹,每個(gè)commit的代碼修改目的清晰
-
組員切分支
組員從分支切出爆捞,如果該分支就一人負(fù)責(zé)(分支名已經(jīng)描述了要做的事兒),則遠(yuǎn)程分支添加后綴-review勾拉;多人共同開發(fā)的煮甥,則添加后綴-功能名
-功能名
-
開發(fā)完自審
開發(fā)完成,自測(cè)沒問題后準(zhǔn)備提交藕赞,先依次自己回審Commit Changes
里的文件成肘、排查是否有IDE提示
-
發(fā)起代碼回審
發(fā)起后,在im上通知審核人
-
code review
代碼回審發(fā)現(xiàn)問題斧蜕,通過評(píng)論的方式指出双霍,一波結(jié)束后,在im上通知發(fā)起人批销。
結(jié)束代碼回審
問題改完后洒闸,審核人合并pr,結(jié)束后风钻,發(fā)起分支自動(dòng)被刪除,代碼合并到目標(biāo)分支酒请。
舉個(gè)例子:
單人開發(fā)
挑戰(zhàn)結(jié)果頁(yè)面修改骡技,工作量評(píng)估一人半天完成
組長(zhǎng)開分支:feature/challengeResultUiFix
組員從此分支切出,改完后羞反,推到遠(yuǎn)程分支feature/challengeResultUiFix-review
布朦,發(fā)起PR
多人開發(fā)
智能輔導(dǎo)開發(fā),工作量評(píng)估需要多人N天完成
組長(zhǎng)開分支:feature/smartCoach
組員A負(fù)責(zé)答題:feature/smartCoach-answer
組員B負(fù)責(zé)結(jié)果頁(yè)面:feature/smartCoach-result
開發(fā)完成后昼窗,從當(dāng)前分支feature/smartCoach-answer
往feature/smartCoach
是趴,發(fā)起PR
commit前綴
feat:功能修改;fix:bug修復(fù)澄惊、內(nèi)容+bug地址唆途;style:其余注釋富雅、刪除文件之類的
分支生命流程
- develop切出開發(fā)若干分支 feature_xxx、feature_xxx等
- 要發(fā)版本肛搬,從develop分支切出release_版本號(hào)(記得更新app版本號(hào)) 没佑,依次合并各個(gè)feature_xxx
- 根據(jù)測(cè)試提出問題修改bug,提交到feature_xxx温赔,再向release_發(fā)起pr蛤奢。
- 上線后 發(fā)起release到master的的pr,并基于master打出tag
- master依次向develop陶贼、各個(gè)開發(fā)主干分支發(fā)起pr啤贩,同步代碼
release本身不接收任何代碼commit,會(huì)導(dǎo)致增加剝離feature的難度拜秧。
有線上bug痹屹,從develop切出hotfix代碼,改完推向develop腹纳。并發(fā)pr到release_