iT邦幫忙

2024 iThome 鐵人賽

DAY 3
0

前情提要

昨天我們介紹了git Flow,雖然用git flow基本上就可以打天下了~嗎(? 不過我們多了解一點東西對團隊也是好事XD

Github Flow

https://ithelp.ithome.com.tw/upload/images/20240916/20129702lTKm6MosiB.png

與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:

  • 精簡
  • 快速release

cons:

  • 控管多版本較難
  • 可能需要大量解衝突

reference

https://dev.to/reviewpad/git-hub-flow-trunk-based-development-and-code-reviews-58ng


上一篇
Day 2 Git Strategy - Git Flow
下一篇
Day 4 Git Strategy - Gitlab Flow
系列文
Backend Developer的學習Roadmap30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言