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
710
0
Share
A successful Git branching model 導讀
11/Jan/2015: 新增為什麼要用FF以及release圖片少說明的地方
12/Jan/2015: Fix typo
Wen_Liao
January 10, 2015
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.4k
Hello world在那邊?背景說明 0
wen_liao
0
780
GNU ld的linker script簡介
wen_liao
0
1.4k
Trace 程式碼之皮
wen_liao
0
920
淺談Debian套件打包
wen_liao
0
660
Other Decks in Technology
See All in Technology
AIエージェント時代に必要な オペレーションマネージャーのロールとは
kentarofujii
0
240
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
77k
ハーネスエンジニアリング×AI適応開発
aictokamiya
2
990
AIにより大幅に強化された AWS Transform Customを触ってみる
0air
0
240
互換性のある(らしい)DBへの移行など考えるにあたってたいへんざっくり
sejima
PRO
0
500
OPENLOGI Company Profile for engineer
hr01
1
61k
非同期・イベント駆動処理の分散トレーシングの繋げ方
ichikawaken
1
250
QA組織のAI戦略とAIテスト設計システムAITASの実践
sansantech
PRO
1
300
Zephyr(RTOS)でOpenPLCを実装してみた
iotengineer22
0
170
Navigation APIと見るSvelteKitのWeb標準志向
yamanoku
2
140
15年メンテしてきたdotfilesから開発トレンドを振り返る 2011 - 2026
giginet
PRO
2
250
脳が溶けた話 / Melted Brain
keisuke69
1
1.2k
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
96
14k
Agile that works and the tools we love
rasmusluckow
331
21k
Embracing the Ebb and Flow
colly
88
5k
Prompt Engineering for Job Search
mfonobong
0
240
How to Talk to Developers About Accessibility
jct
2
170
[SF Ruby Conf 2025] Rails X
palkan
2
880
The Cost Of JavaScript in 2023
addyosmani
55
9.8k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.2k
Docker and Python
trallard
47
3.8k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
170
Six Lessons from altMBA
skipperchong
29
4.2k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
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