Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
A successful Git branching model 導讀
Search
Wen_Liao
January 10, 2015
Technology
0
690
A successful Git branching model 導讀
11/Jan/2015: 新增為什麼要用FF以及release圖片少說明的地方
12/Jan/2015: Fix typo
Wen_Liao
January 10, 2015
Tweet
Share
More Decks by Wen_Liao
See All by Wen_Liao
COSCUP-2020-Linux 軟體組裝工和他的工具們
wen_liao
2
1.5k
開放街圖 自助旅行的好幫手
wen_liao
0
1.3k
GNU AS簡介
wen_liao
0
1.2k
UPnP 1.0 簡介
wen_liao
0
1.1k
自由軟體和 Richard Stallman
wen_liao
0
2.3k
Hello world在那邊?背景說明 0
wen_liao
0
760
GNU ld的linker script簡介
wen_liao
0
1.4k
Trace 程式碼之皮
wen_liao
0
910
淺談Debian套件打包
wen_liao
0
650
Other Decks in Technology
See All in Technology
「違う現場で格闘する二人」——社内コミュニティがつないだトヨタ流アジャイルの実践とその先
shinichitakeuchi
0
170
AIと融ける人間の冒険
pujisi
0
110
人工知能のための哲学塾 ニューロフィロソフィ篇 第零夜 「ニューロフィロソフィとは何か?」
miyayou
0
390
Oracle Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
2
740
AI との良い付き合い方を僕らは誰も知らない (WSS 2026 静岡版)
asei
1
250
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
1
840
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
4
21k
松尾研LLM講座2025 応用編Day3「軽量化」 講義資料
aratako
15
4.9k
AI with TiDD
shiraji
1
340
Oracle Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
3
270
Cloud WAN MCP Serverから考える新しいネットワーク運用 / 20251228 Masaki Okuda
shift_evolve
PRO
0
140
業務の煩悩を祓うAI活用術108選 / AI 108 Usages
smartbank
9
19k
Featured
See All Featured
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
110
What the history of the web can teach us about the future of AI
inesmontani
PRO
0
390
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
51k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
190
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
590
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
250
Code Review Best Practice
trishagee
74
19k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Mobile First: as difficult as doing things right
swwweet
225
10k
Transcript
Wen Liao A successful Git branching model 導讀 高雄,旗山
Disclaimer 投影片資料為作者整理資料及個人意見,沒有經 過嚴謹確認,請讀者自行斟酌
目標 導讀 A successful Git branching model的軟體 Release方式 URL: http://nvie.com/posts/a-successful-git-
branching-model/
背景知識 Fast Forward Merge 簡稱FF
背景知識 Fast Forward Merge in GIT: Before branch Master Branch
Head Master Head
背景知識 Fast Forward Merge GIT: After branch Master Branch Head
Master Head
背景知識 非Fast Forward Merge in GIT: Before branch Master Branch
Head Master Head
背景知識 非Fast Forward Merge GIT: After branch Master Branch Head
Master Head merge
為什麼要提FF? • 可以保留branch更動的footprint
branch Master Branch Head Master Head branch Master Branch Head
Master Head merge VS 那一個比較清楚地顯 示軟體branch的關聯 性?
作者的Branches 分類 • Main branches ◦ Master ◦ Develop •
Supporting branches ◦ Feature ◦ Release ◦ Hotfix
Main Branches Develop Master branch merge when production release merge
when production release AKA: integration Master: 保證product ready 狀態 Develop: • 隨時為下一次 Release準備 • 放 ◦ Feature ◦ Fix ◦ Release更動 ▪ 版號 ▪ 路徑 ▪ ... Tag: 版號 Tag: 版號
Feature Branch • 一定從develop branch出來 • 寫完merge 回develop branch •
寫的不如預期可以宰掉 • 一定要用NO FF • 可以定相關的branch name convention
Feature Branch: USE NO FF merge branch Develop Branch Head
Develop Head merge
Release Branch • 一定從develop branch出來 • 用來處理Release相關事物 ◦ 改版號 ◦
改PATH ◦ ...
Release Branch • Branch出來,處理Release相關事物中,如果 發現錯誤,要merge 回develop branch • 確認無誤,可以出貨後 ◦
merge回develop和master ◦ master tag release版號 ◦ 可以宰掉release branch • 一定要用NO FF • 可以定相關的branch name convention
Release Branch: USE NO FF merge branch Develop Release Head
Develop Head Bug fix merge merge Master Master Head Tag with version
Hotfix Branch • 一定從master branch出來 • 用來處理Release後被客戶或是QA抓包的錯 誤 • 可以順便進版表示該版本是Fix
bug,如1.2晉 升到1.2.1 • 修正完畢要merger回master,視情況merge回 develop ◦ 因為有可能develop已無此功能或是已修正
Hotfix Branch • 如果舊版正在進行hot fix,而新版release branch也正在進行中,請直接merge到release branch而不是develop branch • 確認修正後,可以刪除該branch
• 一定要用NO FF • 可以定相關的branch name convention
Hotfix Branch: USE NO FF merge branch Develop Hotfix Head
Develop Head Bug fix merge merge Master Master Head 進版Bug fix