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
680
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
750
GNU ld的linker script簡介
wen_liao
0
1.3k
Trace 程式碼之皮
wen_liao
0
900
淺談Debian套件打包
wen_liao
0
620
Other Decks in Technology
See All in Technology
NOT A HOTEL SOFTWARE DECK (2025/11/06)
notahotel
0
1.6k
ストレージエンジニアの仕事と、近年の計算機について / 第58回 情報科学若手の会
pfn
PRO
4
960
ゼロコード計装導入後のカスタム計装でさらに可観測性を高めよう
sansantech
PRO
1
670
AWSが好きすぎて、41歳でエンジニアになり、AAIを経由してAWSパートナー企業に入った話
yama3133
2
220
日本のソブリンAIを支えるエヌビディアの生成AIエコシステム
acceleratedmu3n
0
120
Open Table Format (OTF) が必要になった背景とその機能 (2025.10.28)
simosako
3
610
猫でもわかるAmazon Q Developer CLI 解体新書
kentapapa
1
300
可観測性は開発環境から、開発環境にもオブザーバビリティ導入のススメ
layerx
PRO
4
2.6k
GPUをつかってベクトル検索を扱う手法のお話し~NVIDIA cuVSとCAGRA~
fshuhe
0
360
20251102 WordCamp Kansai 2025
chiilog
1
490
OTEPsで知るOpenTelemetryの未来 / Observability Conference Tokyo 2025
arthur1
0
420
累計5000万DLサービスの裏側 – LINEマンガのKotlinで挑む大規模 Server-side ETLの最適化
ldf_tech
0
150
Featured
See All Featured
How GitHub (no longer) Works
holman
315
140k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Agile that works and the tools we love
rasmusluckow
331
21k
Side Projects
sachag
455
43k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
116
20k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
192
56k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
Designing for humans not robots
tammielis
254
26k
Visualization
eitanlees
150
16k
Product Roadmaps are Hard
iamctodd
PRO
55
11k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
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