流程圖
常見的分支
- master:上線分支轻姿,每一個版本需要打上一個tag標簽。每一個版本更新的內容可多可細缭裆,tag1.2.3陈莽,第一位數(shù)字1是系統(tǒng)更新的大版本渤昌,數(shù)字2是更新的大功能點,數(shù)字3是可以是優(yōu)化走搁、可以是修復独柑、可以是小功能點。
- develop:開發(fā)分支朱盐,是當前項目的可進行測試的最新代碼群嗤,每一次開發(fā)人員開發(fā)的新功能、bug兵琳、優(yōu)化都需要合并同步更新到develop分支;此分支也是測試同學測試功能的分支骇径。
- 功能A(B/C):功能分支躯肌,開發(fā)人員在develop拉出來進行具體功能點開發(fā)的分支。
- bug_fix:修復分支破衔,線上版本出來緊急bug清女,拉出來的進行修復bug的分支。修復完后需要同步更新代碼到develop分支晰筛。
環(huán)境介紹
一般一個項目部署的環(huán)境至少有本地環(huán)境嫡丙、dev開發(fā)環(huán)境拴袭、fat環(huán)境、線上環(huán)境曙博,只是最最基本的幾個環(huán)境拥刻。
- 本地環(huán)境:不用介紹了吧這個,你的電腦虛擬機環(huán)境父泳“愫撸【可以理解為本地的git版本】
- dev環(huán)境:開發(fā)自測、聯(lián)調的環(huán)境【可以理解為開發(fā)對功能A(B/C)自測的環(huán)境】
- fat環(huán)境:測試用例測試和驗證的環(huán)境【可以理解為develop分支部署惠窄,專門做上線前蒸眠,測試驗證、保證產品這里的測試環(huán)境】
-
線上環(huán)境:給用戶使用的正式環(huán)境【可以理解為master分支部署的環(huán)境】
當然杆融,公司越大楞卡、項目越大、業(yè)務鏈路越復雜越長的用于開發(fā)脾歇、調試蒋腮、使用的環(huán)境也就更多〗榻伲可能會多一個sit環(huán)境(集成測試環(huán)境)徽惋、uat環(huán)境(預發(fā)布環(huán)境)
開發(fā)流程
我們就從新建一個項目開始和整個開發(fā)過程需要學習和熟練的版本控制內容。
正常開發(fā)
在git版本分支管理的過程中座韵,由上圖可知我們按 功能 來拉取不同的分支進行多人開發(fā)险绘,假設我們線上已經(jīng)有一個1.0.1的版本在運行了,在master和develop分支上代碼一致誉碴,現(xiàn)在開發(fā)新的需求(功能1)宦棺,拉取一個新的分支
git checkout develop
git checkout -b func_1
.....陷入思考中并寫好了代碼
git add .
git commit -m "新功能沒有bug"
git push origin func_1
git checkout develop
git merge func_1
git push origin develop
如果你提測完后,測試反饋有些問題需要你修改黔帕,你可以這樣代咸。
多人開發(fā)過程中可能某些不知情的小伙伴可能會這樣操作,將develop分支合到自己的分支成黄,在這種情況下除非你的確需要功能1那某部分代碼呐芥,不然搞亂的會是你自己。我們最好盡量堅持從功能分支合并到develop提測分支奋岁。
解決沖突
像上面那種情況思瘟,如果你合并了develop分支代碼,并且手賤(可能吧)的修改了功能1的代碼闻伶,哪怕是一個空格回車也好滨攻,那也會出現(xiàn)沖突。要知道,你辛辛苦苦寫的代碼光绕,哪知道一合并代碼女嘲,還有去解決這煩人的代碼沖突,哪得多傷腦筋啊诞帐。
提測fat環(huán)境
當你各個功能(1欣尼、2、3...)合并到develop的代碼在開發(fā)環(huán)境(dev環(huán)境)自測景埃,單元測試通過的時候媒至,你就可以選擇拉出一個全新的分支作為提測fat環(huán)境分支,然后測試反饋有問題谷徙,可以直接在fat_20200221分支修改或根據(jù)功能點來拉fat_fix分支拒啰,這個因項目而異。
不過完慧,當你合并到develop分支的有些功能點還達不到提測要求時谋旦,例如:有bug,未自測屈尼,趕不上此次版本上線的期限內册着,可以將已自測完畢滿足提測要求的分支合并到fat_20200221分支進行測試,趕不上此次版本上線的下個版本在上線脾歧。
fat環(huán)境相關的部署甲捏、配置、環(huán)境準備有測試同學去維護鞭执,開發(fā)同學協(xié)助進行修復bug司顿。這要求開發(fā)同學的能力要強,提測給測試同學的功能要充分自測并經(jīng)過單元測試才可以兄纺,要不然看似耽誤的是測試同學的時間大溜,實際上浪費的是整個團隊的時間。
預生產環(huán)境驗證
ok估脆,真不容易啊钦奋,測試經(jīng)過反復測試,終于到了預生產環(huán)境(sit環(huán)境疙赠,我司就是拿sit環(huán)境作為生產環(huán)境付材,uat為正式環(huán)境)發(fā)布環(huán)節(jié)了。說是預生產環(huán)境圃阳,那當然在環(huán)境上伞租,配置上要同生產環(huán)境一致啦,這是上線前的最后一步限佩,尤為重要,不可忽視。
發(fā)布上生產
sit驗證 通過后祟同,由項目經(jīng)理安排作喘、執(zhí)行發(fā)布計劃,并打上標簽晕城。
那么整個流程就差不多講完了泞坦,中間有些小坑可能還需要你們踩下才會知道痛哈。
此教程適合剛出來實習還不太明白git版本控制的小伙伴閱讀砖顷,大佬們看到有什么疑問歡迎指點下小弟贰锁,喜歡點個贊唄,感激不盡滤蝠。
未完待續(xù)