目的
- 統(tǒng)一團(tuán)隊(duì)
Git Commit
標(biāo)準(zhǔn),便于后續(xù)代碼review
、版本發(fā)布博个、自動(dòng)化生成change log
; - 可以提供更多更有效的歷史信息际乘,方便快速預(yù)覽以及配合
cherry-pick
快速合并代碼坡倔; - 團(tuán)隊(duì)其他成員進(jìn)行類
git blame
時(shí)可以快速明白代碼用意;
Git版本規(guī)范
分支
master
分支為主分支(保護(hù)分支),不能直接在master
上進(jìn)行修改代碼和提交罪塔;
develop
分支為測(cè)試分支投蝉,所以開發(fā)完成需要提交測(cè)試的功能合并到該分支;
feature
分支為開發(fā)分支征堪,大家根據(jù)不同需求創(chuàng)建獨(dú)立的功能分支瘩缆,開發(fā)完成后合并到develop
分支;
fix
分支為bug
修復(fù)分支佃蚜,需要根據(jù)實(shí)際情況對(duì)已發(fā)布的版本進(jìn)行漏洞修復(fù)庸娱;
Tag
采用三段式,v版本.里程碑.序號(hào)谐算,如v1.2.1
架構(gòu)升級(jí)或架構(gòu)重大調(diào)整熟尉,修改第2位
新功能上線或者模塊大的調(diào)整,修改第2位
bug
修復(fù)上線洲脂,修改第3位
changelog
版本正式發(fā)布后斤儿,需要生產(chǎn)changelog
文檔,便于后續(xù)問題追溯恐锦。
image.png
Git提交信息
message
信息格式采用目前主流的Angular
規(guī)范往果,這是目前使用最廣的寫法,比較合理和系統(tǒng)化一铅,并且有配套的工具陕贮。
commit message格式說明
Commit message
一般包括三部分:Header
、Body
和Footer
潘飘。
Header
type(scope):subject
-
type
:用于說明commit
的類別肮之,規(guī)定為如下幾種-
feat
:新增功能; -
fix
:修復(fù)bug
福也; -
docs
:修改文檔局骤; -
refactor
:代碼重構(gòu),未新增任何功能和修復(fù)任何bug
暴凑; -
build
:改變構(gòu)建流程峦甩,新增依賴庫(kù)、工具等(例如webpack
修改)现喳; -
style
:僅僅修改了空格凯傲、縮進(jìn)等,不改變代碼邏輯嗦篱; -
perf
:改善性能和體現(xiàn)的修改冰单; -
chore
:非src
和test
的修改; -
test
:測(cè)試用例的修改灸促; -
ci
:自動(dòng)化流程配置修改诫欠; -
revert
:回滾到上一個(gè)版本涵卵;
-
-
scope
:【可選】用于說明commit
的影響范圍 -
subject
:commit
的簡(jiǎn)要說明,盡量簡(jiǎn)短
Body
對(duì)本次commit
的詳細(xì)描述荒叼,可分多行
Footer
不兼容變動(dòng):需要描述相關(guān)信息
關(guān)閉指定Issue
:輸入Issue
信息