Git規(guī)范
by 程序亦非猿 2016.4.6
這又是一篇我在公司分享的仆百,想制定一下Git的規(guī)范,有興趣的可以看看~
上一篇在這里
分支模型
每個項(xiàng)目必須要有master
幔虏、develop
分支。
每個開發(fā)人員擁有一個自己的分支,如yfy
碘梢、chz
。
master 分支
master
分支只能存在release版本的代碼伐蒂,并需要對每個release打?qū)?yīng)的tag煞躬。
develop 分支
develop
由master
分支檢出,它作用主要是日常開發(fā)合并代碼逸邦,并與master
分支做交互汰翠。
當(dāng)參與開發(fā)的人員較多時,可指定一個人管理develop
分支昭雌,專門負(fù)責(zé)合并代碼复唤,便于管理,避免多人同時使用develop分支而出現(xiàn)問題烛卧。
另外當(dāng)功能開發(fā)完畢后佛纫,代碼合并入develop
分支,測試完成通過后总放,merge到master分支呈宇,并在master上打tag。
開發(fā)人員自己的分支
開發(fā)人員自己的分支局雄,由develop
分支檢出甥啄,是自己負(fù)責(zé)的功能分支的上游
工作流程
Feature (新需求開發(fā))
當(dāng)有新需求需要開發(fā)時:
- 每個開發(fā)人員在自己的分支上檢出一個新的feature分支,如在
czn
上檢出feature_search
分支 - 在新的feature分支上進(jìn)行開發(fā)
- 新功能開發(fā)完畢后合并到自己的分支
- 所有人員的分支合并到develop分支炬搭,并進(jìn)行測試
- 測試通過后合并到master蜈漓,并打tag
Hotfix (緊急修復(fù)bug)
當(dāng)有緊急bug需要修復(fù)時
- 從master 拉分支hotfix_xxx
- 修復(fù)完畢后合并到develop分支
- 測試完畢后合并到master分支穆桂,并打tag
小結(jié)
分支模型已經(jīng)工作流程大約如圖所示:
Gitflow
gitflow是git的一個輔助工具,可以簡化我們新建分支融虽,合并分支享完,刪除分支的操作,也可以減少人工誤操作而出錯的概率
舉個例子:
新功能能開發(fā)有额,使用gitflow之前:
git checkout yfy
git checkout -b feature_search
...developing...
git checkout yfy
git merge feature_search
git branch -d feature_search
使用gitflow之后:
git flow feature start search
...developing...
git flow feature finish search
是不是省去了很多繁瑣的操作般又?
gitflow 的功能不止如此~
gitflow雖好,但是考慮到大家剛開始使用git巍佑,需要熟悉git以及git命令茴迁,所以它現(xiàn)在不是強(qiáng)制的,如果有興趣或者你也懶得敲那么多命令的話萤衰,建議看看 git-flow 備忘清單
PS: 事實(shí)上git最開始是沒有g(shù)itflow的堕义,它是用戶實(shí)際經(jīng)驗(yàn)的總結(jié),so腻菇,希望我們團(tuán)隊(duì)最終能擁有最適合我們自己的gitflowgitf
最后
規(guī)范是死的胳螟,人是活的,上訴所說都是比較理想化的筹吐,實(shí)際情況可能更加復(fù)雜糖耸,大家可以根據(jù)實(shí)際情況調(diào)整。
如果有疑問或更好的建議丘薛,歡迎反饋~~~
另外歡迎關(guān)注:
我的Github
我的微博
我的微信公眾號: