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
610
Other Decks in Technology
See All in Technology
「Linux」という言葉が指すもの
sat
PRO
4
120
データアナリストからアナリティクスエンジニアになった話
hiyokko_data
2
440
実践!カスタムインストラクション&スラッシュコマンド
puku0x
0
370
Obsidian応用活用術
onikun94
2
480
開発者を支える Internal Developer Portal のイマとコレカラ / To-day and To-morrow of Internal Developer Portals: Supporting Developers
aoto
PRO
1
450
「どこから読む?」コードとカルチャーに最速で馴染むための実践ガイド
zozotech
PRO
0
290
ハードウェアとソフトウェアをつなぐ全てを内製している企業の E2E テストの作り方 / How to create E2E tests for a company that builds everything connecting hardware and software in-house
bitkey
PRO
1
120
2025年夏 コーディングエージェントを統べる者
nwiizo
0
140
Android Audio: Beyond Winning On It
atsushieno
0
110
LLMを搭載したプロダクトの品質保証の模索と学び
qa
0
1k
ブロックテーマ時代における、テーマの CSS について考える Toro_Unit / 2025.09.13 @ Shinshu WordPress Meetup
torounit
0
120
【実演版】カンファレンス登壇者・スタッフにこそ知ってほしいマイクの使い方 / 大吉祥寺.pm 2025
arthur1
1
810
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.8k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Rails Girls Zürich Keynote
gr2m
95
14k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
Making Projects Easy
brettharned
117
6.4k
A better future with KSS
kneath
239
17k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
The Invisible Side of Design
smashingmag
301
51k
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