現在普遍流行的git規範是gitflow,但是最近又看到乙個新的git規範,感覺這個新的規範,設計更加合理,並且可以解決gitflow
在專案運用中存在的問題,本文羅列了這兩種規範的主要內容,並做了對比。
分支流轉規範示例圖如下:
git常用分支
示例圖如下:
gitflow的問題:
需要同時維護兩個分支,會存在**不同步的可能性
(master,develop);
假如已經上線的專案發現了bug
,需要及時修復,gitflow
的規範是在hotfix
分支進行修改,修改以後,要分別合併到master
和develop
分支,這樣才能保證master
和develop
的**同步,因為這兩個分支都是長期維護的分支。如果我們哪一次忘記了同步,專案可能會出現問題。
其他功能的開發,包含其他未開發完成的功能的**;
假如多個功能在不同的時間,並行進行開發,後面功能分支會包含之前功能分支的**,因為他們都是基於develop
分支建立的,如果之前的功能存在bug
,這個可能會影響後面功能的開發。
上線的功能,可能包含未上線功能的**;
這個問題也是由於第2個問題導致的,多個功能並行開發,如果前面的部分功能臨時決定暫不上線,先上線後面開發的功能,那上線的功能會包含前面暫時不上線的功能的**。
而git
並行規範不存在這樣的問題。因為它只有乙個長期的產品分支,乙個新的功能,都是基於這個產品分支而建立的,每乙個功能在沒有測試完成之前是不會合併到產品分支的,這樣不管你有多少並行的開發分支,都是互不影響的。
git分支管理規範
以下特點是有部分是假設性,部分是實際的 這裡的約束是指無論哪一種場景,以及開發規模大小都必須要遵守的一些git分支管理規則 只需要乙個master分支,然後各自建立自己的分支名為 dev 拼音簡寫 feature fixbug 名稱 如 dev zhang3 userreg,雙發約定好評審方式和me...
Git分支命名規範
分支 命名說明 主分支master 主分支,所有提供給使用者使用的正式版本,都在這個主分支上發布 開發主分支 dev開發分支,永遠是功能最新最全的分支 功能分支 feature 新功能分支,某個功能點正在開發階段 發布版本 release 發布定期要上線的功能 修 布版本分支 bugfix rele...
git分支管理規範
主分支 master 開發分支 develop 功能分支 feature 修復分支 hotfix 預發布分支 release master 主分支,建立 repository 時缺省會生成乙個 master 分支。通常情況下 master 分支是受保護的 protected master 分支儲存的...