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
770
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
コスト削減から「セキュリティと利便性」を担うプラットフォームへ
sansantech
PRO
3
1.6k
Oracle Cloud Observability and Management Platform - OCI 運用監視サービス概要 -
oracle4engineer
PRO
2
14k
登壇駆動学習のすすめ — CfPのネタの見つけ方と書くときに意識していること
bicstone
3
120
【Oracle Cloud ウェビナー】[Oracle AI Database + AWS] Oracle Database@AWSで広がるクラウドの新たな選択肢とAI時代のデータ戦略
oracle4engineer
PRO
2
180
Cosmos World Foundation Model Platform for Physical AI
takmin
0
950
Claude_CodeでSEOを最適化する_AI_Ops_Community_Vol.2__マーケティングx_AIはここまで進化した.pdf
riku_423
2
600
配列に見る bash と zsh の違い
kazzpapa3
3
160
SREのプラクティスを用いた3領域同時 マネジメントへの挑戦 〜SRE・情シス・セキュリティを統合した チーム運営術〜
coconala_engineer
2
700
Bedrock PolicyでAmazon Bedrock Guardrails利用を強制してみた
yuu551
0
250
Oracle AI Database移行・アップグレード勉強会 - RAT活用編
oracle4engineer
PRO
0
100
We Built for Predictability; The Workloads Didn’t Care
stahnma
0
140
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
3
990
Featured
See All Featured
Bash Introduction
62gerente
615
210k
Prompt Engineering for Job Search
mfonobong
0
160
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
180
Git: the NoSQL Database
bkeepers
PRO
432
66k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
270
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
60
42k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
67
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Accessibility Awareness
sabderemane
0
55
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.1k
The untapped power of vector embeddings
frankvandijk
1
1.6k
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