iT邦幫忙

2024 iThome 鐵人賽

DAY 4
0

前情提要

昨天我們介紹了github Flow,今天要介紹跟他名字很像的gitlab flow。

Gitlab Flow

https://ithelp.ithome.com.tw/upload/images/20240917/20129702V5NPgkwCcv.png

GitLab Flow是GitFlow的更簡單替代方案,它將功能驅動開發和功能分支與問題追蹤互相結合,他的特色是只有master(main) branch,其他分支都是由這主要分支所建立,官方將這個原則叫做upstream first。
代表只有上流的分支才可以開分支給下流用。因此下流不可以自己推code,一定要從上游來。

當有新的需求需要變更程式碼時,需要從master分支開始創建分支,等修改完畢後,再合併回master裡面。另外gitlab flow可以依照部屬的策略,具有production分支,專門用來部屬用。

這種方式可以方便我們控管版本,我們可以多個production分支來放不同的版本。

https://ithelp.ithome.com.tw/upload/images/20240917/20129702snd8iDniet.png

如果我們需要維護各種穩定版本的時候,我們也可以根據版本來創造branch來分布,一樣是從master長出去,接著就可以根據各版本來創立不同的分支來維護。這樣就可以滿足維護各版本的需求,而且不會讓流程變得很複雜。

以CI的角度來看,gitlab也只要跑兩次CI就可以跑一次CD了。部屬很快速。

總結

優點就是他依然是一種簡單的策略,並且他支援對各種環境的部屬,不同版本的部屬也支援的相當好。

缺點就是因為他都會把code推再master分支上面,我們管理上要小心,因為沒有特別限制是否要創立分支後才可以推code到master分支上面,沒有明確規範pull request,可能會沒有code review就上code了。這是一道雙面刃,果然軟體開發沒有銀彈可以使用XD

有一個笑話就是推code到master分支上就不用pull request囉,讚(?

pros:

  • 精簡
  • 快速release
  • 不同版本的部屬比較容易

cons:

  • master分支的管理
  • 沒有明確規範code review

reference

https://medium.com/bucketing/three-kinds-flow-of-git-1b4296196e40


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

尚未有邦友留言

立即登入留言