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
Branching - Getting It Right for Us
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Luke van der Hoeven
August 30, 2013
Programming
2
49
Branching - Getting It Right for Us
Sometimes the way you do it is not the way we do it...
Luke van der Hoeven
August 30, 2013
Tweet
Share
More Decks by Luke van der Hoeven
See All by Luke van der Hoeven
TrainWreck: Architecture
plukevdh
1
60
Other Decks in Programming
See All in Programming
ベクトル検索のフィルタを用いた機械学習モデルとの統合 / python-meetup-fukuoka-06-vector-attr
monochromegane
2
320
クライアントワークでSREをするということ。あるいは事業会社におけるSREと同じこと・違うこと
nnaka2992
1
310
浮動小数の比較について
kishikawakatsumi
0
380
PostgreSQL を使った快適な go test 環境を求めて
otakakot
0
410
Fundamentals of Software Engineering In the Age of AI
therealdanvega
0
160
社内規程RAGの精度を73.3% → 100%に改善した話
oharu121
13
7.6k
Unity6.3 AudioUpdate
cova8bitdots
0
110
nilとは何か 〜interfaceの構造とnil!=nilから理解する〜
kuro_kurorrr
3
1.6k
「やめとこ」がなくなった — 1月にZennを始めて22本書いた AI共創開発のリアル
atani14
0
350
AI時代でも変わらない技術コミュニティの力~10年続く“ゆるい”つながりが生み出す価値
n_takehata
2
650
20260228_JAWS_Beginner_Kansai
takuyay0ne
5
440
手戻りゼロ? Spec Driven Developmentとは@KAG AI week
tmhirai
1
160
Featured
See All Featured
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
210
The agentic SEO stack - context over prompts
schlessera
0
680
Discover your Explorer Soul
emna__ayadi
2
1.1k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
380
Statistics for Hackers
jakevdp
799
230k
Speed Design
sergeychernyshev
33
1.6k
WCS-LA-2024
lcolladotor
0
470
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
99
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Transcript
Branching Getting It Right...
...for us
We’ve Been Here Before Now we know what we’re doing...
...maybe
The Hybrid Model
• Master Integration • Feature • Release Assembly Three Types
of Branches
• Contains only released code • Always releasable (continuous deployment)
• No active work ongoing What Is: Master
• Active, in-progress work • New code is always done
in a feature branch • Contains an independent, fully-functional feature What Is: Feature
• Contains code being prepared for release • Made up
of merges from feature branches • No active work ongoing. What Is: Release
A Generic Scenario
None
Another day, another promotion
None
Break Them Up
None
Work Progresses and Time Passes
None
Time to Think QA and Releases
None
What’s Going On • QA starts testing the release •
Developers are working on the feature branches • Life is good...
When suddenly, QA finds a BUG as they often do
If the bug is with Feature A, where does the
fix go? QA starts testing here, finds bug...
fixed here
QA resumes testing here Merge feature branch to release branch
again
Good thing we branched.
None
None
And finally, it’s ready for release!
After the release is done, code is shipped, everyone is
happy...
None
But wait, someone decided to kill Feature B two days
before release! WHAT DO WE DO?
We burn the office to the ground.
Not an option?
Good thing we branched.
None
Delete the release branch!
Create a new release branch! QA resumes testing with new
release
That was easy.
Good thing we branched.
None
Oh snap, we need to start on the next release
RIGHT NOW
None
Good thing we branched.
None
got the theme yet?
The Rules • All work is done in feature branches
• All release branches must be branched from master • Master contains only released code
An Important Note • Merge direction is critical to keeping
code isolated • Releases only merge down to master or from features. • Features only merge up from master
Note the direction of the dotted lines
Any Last Thoughts?
I’m glad you asked
Use GIT