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
Git merge-base
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Harri Kirik
September 02, 2019
How-to & DIY
1
73
Git merge-base
How git merge-base is awesome and can help you out in difficult situations.
Harri Kirik
September 02, 2019
Tweet
Share
More Decks by Harri Kirik
See All by Harri Kirik
Secure programming techniques: Mobile Development Security guest lecture
harri35
0
83
Support for HSM-like capabilities in Android
harri35
0
140
Why doesn't my in-app QR code work (on location)?
harri35
0
33
Smoke testing your library
harri35
0
28
Collections in Kotlin
harri35
0
36
Data classes in Kotlin
harri35
0
34
How to do delegation in Kotlin
harri35
0
37
Two-factor authentication at GDG Riga
harri35
0
74
Two-factor authentication at GDG Tartu
harri35
0
57
Other Decks in How-to & DIY
See All in How-to & DIY
JAWS-UG 福岡 in 北九州 | JAWS-UG/AWSコミュニティ プログラムのご紹介
awsjcpm
1
180
キャリア科目では教えてくれない、就活を生き抜く法則
logica0419
1
210
個人制作コンテンツの多言語展開のノウハウを全公開! 〜世界に自分を発信しよう!〜
syotasasaki593876
0
140
人はなぜコミュニティとつながると幸せを感じるのか
448jp
3
370
JAWS-UG と AWS - JAWS-UG 沖縄 Cloud on the Beach 2025
awsjcpm
0
130
人を補助するAI ~AIとの壁打ちがきっかけになる~ #共創AIミートアップ
ishikiemo
0
530
2026年、書籍をちゃんと読むぞ👊 〜約3万円分の書籍を積読にしないためにやること〜
subroh0508
3
710
いぬぬウォッチャー - オレトク賞オンライン決勝 #ヒーローズリーグ
n0bisuke2
0
290
LLMを「機能」として組み込む技術:「Figma to はてなCMS」におけるプロンプトエンジニアリングからAIエージェント構築にわたる精度向上の軌跡
nanimonodemonai
0
330
餃子コミュニティの活性化/TechGYOZA
nishiuma
2
240
サイボウズには100名以上の社員が出演する"夏フェス"があるって本当?
oguemon
0
540
Maker Mela Mumbai 2025 資料 2024/12/12取得
takasumasakazu
0
120
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1k
Deep Space Network (abreviated)
tonyrice
0
47
The SEO identity crisis: Don't let AI make you average
varn
0
64
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
100
Game over? The fight for quality and originality in the time of robots
wayneb77
1
110
First, design no harm
axbom
PRO
2
1.1k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
240
Building Applications with DynamoDB
mza
96
6.9k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.2k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
930
How Software Deployment tools have changed in the past 20 years
geshan
0
32k
Transcript
DEMODAY git merge-base dive deeper Location, DD/MM/YYYY Name Surname, job
title Title of the talk Git merge-base September 2nd, 2019 YOU SHOULD UNDERSTAND AND USE
DEMODAY git merge-base git merge-base finds the best common ancestor
between two commits to use in a three-way merge. 02
DEMODAY git merge-base Ancestor is a parent or a parent
of a parent (grandparent) or a great-grandparent, or a great-great-grandparent and so forth 03
DEMODAY git merge-base One common ancestor X is better than
another common ancestor Y if Y is an ancestor of X. 04
DEMODAY git merge-base A common ancestor that does not have
any better common ancestor is a best common ancestor, i.e. a merge base. 05
DEMODAY git merge base Example HERE YOU GO, HAVE AN
06
DEMODAY git merge-base “git merge-base A B” is 1: 07
o---o---o---B / ---2---1---o---o---o---A
DEMODAY git merge-base More than two commits as an argument?
A B C ? 08
DEMODAY git merge-base Then the first commit (A) is the
first argument, other commits (B C) will be merged* to create a second argument. 09
DEMODAY git merge-base “git merge-base A B C” is 1:
010 o----o----o----o----C / o----o----o----B / / ---2----1----o----o----o----A
DEMODAY git merge-base 02 Is awesome! GIT MERGE-BASE
DEMODAY git merge-base 02 Is useful! GIT MERGE-BASE
DEMODAY git merge-base For developing a fix to a release
and dev branches at the same time. 013
DEMODAY git merge base Something has gone wrong with the
release We need to fix it fast! IMAGINE THAT 014
DEMODAY git merge-base 1. ASAP: Fix the release 2. Merge
the fix to dev so development can continue 015
DEMODAY git merge-base 016 o---release-x / ---o---o---o---o---o---dev
DEMODAY git merge-base 1. Create a fix branch at a
merge base > git checkout -b fix-x $(git merge-base develop release-x) 017
DEMODAY git merge-base 018 o---release-x / ---o---o---o---o---o---dev | fix-x
DEMODAY git merge-base 2. Fix the in fix-x branch 3.
At release-x merge in the fix > git merge fix-x 4. Create and release another binary 5. At dev merge in the fix > git merge fix-x 019
DEMODAY git merge-base One fix! 020
DEMODAY git merge-base Merged into two diverged branches! 021
DEMODAY git merge-base Did not get any merge conflicts! 022
DEMODAY git merge-base Everything would still be fine even if
these branches would be merged between themselves. 023
DEMODAY git merge-base Because this is the same commit on
both branches. 024
DEMODAY git merge-base PS: Avoid cherry-picking like the plague! It
makes magic happen. When you least expect it .. 025
DEMODAY git merge-base 02 Is awesome! GIT MERGE-BASE
DEMODAY git merge base Something? OK, COOL.. DID I FORGET
027
DEMODAY git merge-base 028 git merge-base finds best common ancestor(s)
between two commits to use in a three-way merge.
DEMODAY git merge base Bonus content SOME 029
DEMODAY git merge-base 030 How does Git know to merge
changes?
DEMODAY git merge-base 031 .. amount = 15; .. ..
amount = 3; .. File A File B
DEMODAY git merge-base 032 .. amount = 15; .. ..
amount = 3; .. File A File B .. amount = 3; .. Common ancestor
DEMODAY git merge-base Questions, comments, Git stories .. THANKS! September
2nd, 2019