iT邦幫忙

2024 iThome 鐵人賽

DAY 3
1
IT 管理

30天從版控到code review的實踐指南系列 第 3

Day 3. 版控流程介紹:GitHub flow

  • 分享至 

  • xImage
  •  

什麼是 GitHub Flow


專門為 GitHub 平台設計的工作流程,將分支(branch)分為兩類:Main 跟功能分支,透過以下流程完成分支合併:

  1. Main 創新的功能分支
  2. 在新創的功能分支進行開發且提交 Commits
  3. 完成功能後提出 Pull Request(PR)
  4. 團隊夥伴進行 Code Review 且進行修正
  5. Review 通過後進行 Merge
  • GitHub Flow 特色
    • Main 分支:
      • 始終存在且保持在可部署狀態。
      • 不應直接在 Main 上進行開發工作,開發應在功能分支進行。
    • 功能分支:
      • 開發功能或是修復功能都有自己的分支,於開發時,從 Main 分支拉出一個新的分支。
      • 分支名稱應有明確代表性,例如 feature/add-user-login 或 fix/issue-10。
    • Commits 提交:
      • 在功能分支上進行開發,並且需提交所有變更。
      • 定時將變更推到 Remote 端的 GitHub Repository 中,方便團隊成員查看進度。
    • PR 發起與 Code Review
      • 功能完成開發後,撰寫該分支者,將發起 PR,請求將這個分支的變更合併到 Main
      • 藉由 PR 讓團隊成員可以進行 Code Review ,互相討論與回饋。

GitHub Flow 的優點


  • 簡單靈活:相較於Git Flow,GitHub Flow的流程較簡化,規則簡單靈活,適合需要快速迭代的專案。
  • 快速部署:合併到 Main 分支的程式碼可立刻部署。
  • 高效的協作:透過 PRCode Review,確保程式碼品質,並鼓勵團隊成員之間的協作。

GitHub Flow 版本合併示意圖


https://ithelp.ithome.com.tw/upload/images/20240917/20169483Xov8nDfJ2s.png

(圖片來源:GitHub-workflow)

GitHub Flow 適用的專案


  • 需要快速開發且頻繁更新程式碼版本的中小型專案。
  • 需持續部署的環境:隨時保持 Main 分支為可部署狀態。
  • 開源專案:貢獻者可透過 PR 進行協作。

Reference


今天是中秋節🍂,祝大家月餅節快樂!cc 🥮


上一篇
Day 2. 版控流程介紹:Git Flow。
下一篇
Day 4. 版控流程介紹:GitLab flow
系列文
30天從版控到code review的實踐指南30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言