iT邦幫忙

2025 iThome 鐵人賽

DAY 2
0

2025 iThome鐵人賽
「 Flutter :30天打造念佛App,跨平台從Mobile到VR,讓極樂世界在眼前實現! 」
Day 2
「 Git Flow — 人生不能重來,但 Git 可以 」


Day 2 Intro Motivation

前言

Day 2 ,我們一起先來認識 Git 、Git Flow
除了讓開發過程更順暢安心,也可以避免以下意外的措手不及。

小劇場1
你家的貓,突然打翻桌上的水,筆電壞了,寫了半個月的Code,沒了。
謎之音:騷年呀~你需要Git呀,記得Push到GitHub
Day2-skit-cat-laptop

小劇場2
A某:咦?啊啊啊…我的Code怎麼沒了
B某:…痾,不好意思,可能我動到了
謎之音:騷年~你們需要Git flow 呀
Day2-skit-merge-conflict

小劇場3
新功能上線,突然出大Bug。
謎之音:騷年~快開分支hotfix去修唄
Day2-skit-hotfix.png

Git

Git 是一個 分散式版本控制系統(Distributed Version Control System),
能夠記錄專案中每個檔案的修改歷史,讓我們能查看或切回任一時間點的專案版本。
因此可以將Git想像成能夠穿梭不同時間線的「時光機」。

Git時光機的特點:

  1. 分散式:
    不依賴單一伺服器,使用者可以在各自電腦保存完整的版本紀錄,離線也能使用。
  2. 版本控制:
    每次提交(commit)新的版本內容,Git會替專案拍一張快照,
    讓我們可以進行回溯查看或還原到過去任一版本。
  3. 建立分支:
    在 Git 中,分支是一條可以獨立開發的版本線。
    我們可以從目前的版本(main)建立一條新的分支,專門用來開發功能或修復 Bug。

GitHub / GitLab

Git 會在我們的電腦本機建立儲存庫(Repository) 保存專案的所有版本歷史,
GitHub 和 GitLab 則是 Git 儲存庫的「雲端(遠端)託管平台」
GitHub 和 GitLab 不僅能解決備份問題,同時也是完整的協作與開發平台,
支援多裝置同步與團隊協作,能開 Issue 追蹤任務、發 PR 審查程式碼,
並透過 CI/CD 自動測試與部署,讓專案從規劃到上線都有系統化流程。

Git Flow

一種軟體開發流程,依照開發目的將專案拆成不同的分支進行。

可以把 Git Flow理解為:
透過Git建立多條平行時間線,讓不同分支的時間線能各自專注不同任務
最後再合併整合。

分支 用途 特點
main 永遠保持可上線的穩定版本 只有 release 或 hotfix 合併進來,並打上版本Tag
develop 整合所有開發完成的功能 下一個即將上線的版本,會進行測試與驗證
feature 開發新功能時使用的分支 從 develop 切出,每個功能一條分支,完成後再合併回 develop
release 發版前的穩定化分支 進行最後 Bug 修正與版本號調整,完成後合併到 main 和 develop
hotfix 線上緊急修復 從 main 切出,修完直接合併回 main 和 develop,並重新發布版本

Git Flow 流程步驟

  1. 建立develop分支
    先從 main 建立 develop 分支,develop 是日常開發的主線。

  2. 建立feature分支
    從 develop 建立 feature 分支,團隊開發時每人會在不同的feature開發新功能,
    完成後再合併回develop。

  3. 建立 release 分支
    功能開發完成,從 develop 建立 release 分支,最後測試、修 Bug、更新版本號。

  4. 合併到 main 發版
    release 測試完成後,合併回 main 並打 Tag,上線新版本,同步合併回 develop。

  5. 緊急修復
    上線後發現重大問題,從 main 建立 hotfix 分支,修完合併回main和develop,並重新發佈版本。

Day2 重點回顧

重點 內容
Git 穿梭與建立不同開發時間線的時光機
GitHub / GitLab 雲端(遠端)存放資料的協作開發平台
GitFlow 將專案拆成不同任務分支的開發流程

上一篇
[ Day1 ] Flutter 念佛App — 緣起與主題說明
下一篇
[ Day3 ] Flutter Git 實戰入門篇—穿越到Coding世界的勇者啊,你需要這套神裝(1)
系列文
Flutter :30天打造念佛App,跨平台應用從Mobile到VR,讓極樂世界在眼前實現!12
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言