昨天我們介紹了git Flow,雖然用git flow基本上就可以打天下了~嗎(? 不過我們多了解一點東西對團隊也是好事XD
與Git Flow相比,GitHub Flow輕量得多。維護成本非常低,因為唯一長壽的分支是Main分支,少了dev、release分支,然而GitHub Flow繼承了Git Flow的其他缺點。
feature分支在合併時,讓分支存活太久的散漫團隊會面臨嚴重問題,因為流浪在外面太久,可能會衝突一堆,最後失敗的merge可能導致main無法部署,這對持續交付來說是一個危險信號。畢竟解衝突是一門大學問QQ
如果以CI的角度來看,我們只要跑兩次就可以執行一次CD了,第一次推code在feature分支跑CI,接著合併進main分支跑CI,就可以跑CD部屬到prod環境囉
由於沒有開發分支,我們可以對一個分支做測試和自動化,這可以讓我們快速和持續部署。因為這是一種快速精簡的分支策略,比較適合小團隊。
因為強調生產週期短,發布很頻繁,這種策略會比較不適合需要多個版本的專案,並且可能存在長生命週期的feature branch,合併時會需要解衝突。
當然因為需要合併到main分支,就需要做code review,多一個人看多一分保障XD
pros:
cons:
https://dev.to/reviewpad/git-hub-flow-trunk-based-development-and-code-reviews-58ng