git讀書筆記------(3)git開發流程

git讀書筆記------(3)git開發流程

來自專欄前端那些事兒

圖一,我司在用的開發模式

圖一是我司在用的開發模式,也是git推薦的中小型團隊項目協作當中一種開發模式。

最主要的點在於比較清楚的能夠理清整個的開發分支和開發流程,

圖一當中master就是線上的分支,或者說是生產環境的分支,或者叫主幹也行。

hotfix是熱修復環境,啥時候用啥時候checkout一個出來,用完記得及時銷毀,目的是為了保證hotfix分支是和線上完全一致的,主要的作用也是為了臨時的修複線上的錯誤和緊急bug。

develop/prerelease 分支是測試環境分支,所謂測試環境即和線上環境代碼不完全同步,或者說是我們日常開發功能完成之後需要測試的分支,通常來說會領先於線上的分支(因為已經做了某些功能的開發)

feature分支是直接從master分支上拆出來的,一方面是為了保持和線上的同步,一方面也要保持代碼的正確性,保證新開的分支不被污染。

fix分支其實是用來修複測試環境錯誤的,其實fix也可以用來搞成直接從master上拆下來,無傷大雅,不會對測試環境產生很大的影響。

開發流程:

1 從master新開feature分支,然後開始feature分支做開發,然後開發完成之後,合併到develop分支上去,然後開始提測,測試沒問題,可以到hotfix上做線上回歸,或者再開一個其他名字分支做回歸,其實本質上是相同的,都是做線上回歸。

2 需要特別注意的點:

#1 每次合併的時候是feature分支合併到develop分支上,而不是develop合併到feature,因為很可能develop上有別人未開發好的代碼,合併到你的分支上去之後,有一定的可能性是會把,錯誤/未開發好的代碼帶上線的,可以通過上面的那種方式避免這樣低級的錯誤的。

#2 無論在develop分支還是在master都要完成全部的測試,如果實在是某些數據測試環境沒有,那麼線上的時候一定要特別注意的之前在測試環境未驗證的問題,否則極其可能會把本地的錯誤帶上線。

#3 當push遇到問題的時候及時的合併衝突,有時候是不同分支之間的衝突,有時候是同一分支的衝突, 但是都要及時的解決,發測試環境的時候一定要發develop分支,而不是偷懶。

#4 在merge或者push分支之前,先fetch或者pull是一個好習慣(其實是為了防止把別人的代碼覆蓋掉,給別人埋坑)。

推薦閱讀:

python後階段的學習思路以及對git的基本理解
Git版本控制與工作流
筆記《版本控制之道--使用Git》

TAG:版本控制 | 版本管理 | Git |