必須要做的
- 除了master dev分支外盗温,其他分支都需要以 feature fix update開頭。
- pull代碼的時候都使用
git pull -r
,這樣可以減少很多不必要的merge
提交窍奋。 - 由于合并dev都是扁平化提交领突,所以需要注意一個版本內(nèi)的代碼需要合理注釋暖璧,否則有找不回來的風險。如在同一個版本中君旦,添加了某段代碼然后直接刪了澎办,那么這個分支合并刪除后這段代碼就找不到了嘲碱。
絕對不能做的
- master dev分支絕對不能強制推送!>质础麦锯!否則大家的倉庫都會爆炸!
分支定義
master:與線上完全對應琅绅,保護分支扶欣。
dev:將要發(fā)布的下個版本,保護分支千扶。
fix:branch from master料祠,線上bug修復分支,修完后merge回dev
master
澎羞。
sprint: branch from dev髓绽,一般是sprint/1.0
這種格式。每個迭代一個分支妆绞,測試結束后扁平合并到dev并刪掉顺呕。如果dev分支有更新,sprint需要及時merge dev括饶。不需要進行保護塘匣,改動后自動部署到測試環(huán)境。
update:branch from dev巷帝,基礎框架忌卤、基礎庫進行的修復、升級楞泼。升級完成后合回dev并刪掉驰徊。
feature: branch from sprint,正常迭代版本堕阔。一個人開發(fā)時可以隨便強制推送棍厂,開發(fā)完成后直接merge
到sprint分支上。一般是feature/1.0/addMoney
超陆。
實際例子
- 新建文件
test.txt
牺弹,內(nèi)容為:“我是初始版本!”初始化倉庫时呀,新建分支dev
张漂,并提交。倉庫初始化完成谨娜。 - 從dev分支開新分支
sprint/1.0
航攒,再新開分支feature/1.0/addMoney
,提交2個提交趴梢。第一個提交添加內(nèi)容"0.8\n0.9"漠畜,第二個提交修改內(nèi)容為"0.9\n1.0"币他,提交。合并到sprint/1.0
憔狞。 - 從dev分支開新分支
update/db
蝴悉,修改內(nèi)容我是初始版本!我升級了依賴瘾敢!
辫封,pr扁平合并到dev。然后刪除此分支廉丽。 - 分支
sprint/1.0
需要merge``dev
分支并解決沖突倦微。注意:必須使用merge,用rebase會影響feature分支正压,更麻煩欣福! - 分支
feature/1.0/addMoney
添加提交,添加內(nèi)容新的內(nèi)容
焦履,合并到sprint/1.0
拓劝。 -
sprint/1.0
開發(fā)完成,等待測試嘉裤。 -
sprint/1.0
測試完成郑临,提交pr合并到dev
,扁平化合并提交屑宠。然后dev
合并到master
厢洞,發(fā)布到線上。 -
fix
分支操作和update
操作類似典奉,只是fix
分支是從master
分支出來的躺翻,然后再合并到dev
。
版本發(fā)布以后卫玖,dev分支會非常干凈公你,只有3個提交:
- init
- !1 update/db
- !2 1.0
這樣后續(xù)查閱代碼改動就會非常方便。