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
La théorie des graphes appliquée à Git
Search
ubermuda
April 17, 2017
Technology
0
390
La théorie des graphes appliquée à Git
ubermuda
April 17, 2017
Tweet
Share
More Decks by ubermuda
See All by ubermuda
Comment Docker révolutionne le web
ubermuda
3
690
Vers des applications twelve-factor
ubermuda
2
1.1k
Git et la théorie des graph
ubermuda
3
1.1k
Introduction à Docker
ubermuda
6
1k
Meetup Docker 101
ubermuda
1
210
A multi-container Symfony2 setup with Docker
ubermuda
40
12k
Docker Introduction
ubermuda
5
490
Symfony 2, un framework robuste et moderne
ubermuda
5
190
Migration d'une base de code subversion vers git
ubermuda
0
100
Other Decks in Technology
See All in Technology
AIを前提に、業務を”再構築”せよ IVRyの9ヶ月にわたる挑戦と未来の働き方 (BTCONJP2025)
yueda256
1
750
大規模モノレポの秩序管理 失速しない多言語化フロントエンドの運用 / JSConf JP 2025
shoota
0
170
身近なCSVを活用する!AWSのデータ分析基盤アーキテクチャ
koosun
0
1.4k
「もっと正確に、もっと効率的に」ANDPADの写真書き込み機能における、 現場の声を形にしたエンハンス
andpad
0
110
旧から新へ: 大規模ウェブクローラの Perl から Go への移行 / YAPC::Fukuoka 2025
motemen
3
930
それでは聞いてください「Impeller導入に失敗しました」 #FlutterKaigi #skia
tacck
PRO
0
130
[mercari GEARS 2025] Keynote
mercari
PRO
1
280
2ヶ月で新規事業のシステムを0から立ち上げるスタートアップの舞台裏
shmokmt
0
150
アジャイル社内普及ご近所さんマップを作ろう / Let's create an agile neighborhood map
psj59129
1
130
Javaコミュニティの歩き方 ~参加から貢献まで、すべて教えます~
tabatad
0
130
マイクロリブート ~ACEマインドセットで実現するアジャイル~
sony
1
390
バフェットコード株式会社 開発チームカルチャーデック
shoe116
1
100
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
49
14k
Designing for Performance
lara
610
69k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
[RailsConf 2023] Rails as a piece of cake
palkan
57
6.1k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
The Language of Interfaces
destraynor
162
25k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Six Lessons from altMBA
skipperchong
29
4.1k
Code Review Best Practice
trishagee
72
19k
The Cost Of JavaScript in 2023
addyosmani
55
9.3k
Transcript
La théorie des graphes appliquée à git Geoffrey Bachelet @ubermuda
Königsberg
ez pz Leonhard Euler
None
Pont Masse de terre
Arête Noeud graphe
1 2 3 4
None
A B E D C
A B E D C Noeuds
A B E C Arêtes D
A B E D C Graph orienté
A B E D C Graph orienté
None
Atteignabilité
Atteignabilité C est atteignable depuis E A B E D
C
Atteignabilité NOPE A B E D C
A B D E C F D n'est pas atteignable
depuis F Atteignabilité
Atteignabilité
None
$ git branch * master $ ls .git/refs/heads/ master $
cat .git/refs/heads/master 58bd01cded7904f1596cb12aac1d3e0e8ae6b558
$ git log --format="%H" 6465a2cd4d6d3b0a0a62588eeb5b798bb7d31a71 7d1d4dabc49854a0807200361731446476565094 17a59ceda9b2806e2a135df039506d1ec1a976e6 ...
$ echo "6465a2cd" > .git/refs/heads/foo
$ git branch * master foo
A B D E C F master foo
A B D E C F master foo Atteignabilité !
None
Rappel • Une branche • Un tag • HEAD :
commit actuel à un instant T Références
Merge
A B D E C F master foo HEAD $
git merge master
A B D E C F master foo $ git
merge master HEAD
A B D E C F master G foo $
git merge master HEAD
A B D E C F master foo G foo
$ git merge master HEAD
A B D E C F master foo G Atteignabilité
! HEAD
fast-forward
A B C E D foo master F HEAD $
git merge foo
A B C E D foo master F $ git
merge foo Atteignable HEAD
C E D foo master F master A B $
git merge foo HEAD
cherry-pick
A B D E C F master foo $ git
cherry-pick F HEAD
master foo F' A B D E C F foo
$ git cherry-pick F HEAD
rebase
$ git rebase master A B D E C F
master foo HEAD
B merge base A D E C F master foo
$ git rebase master HEAD
merge base premier ancêtre commun Atteignable !
A B D E C F master foo Atteignable !
HEAD
A B D E C F master foo C' $
git rebase master HEAD
A B D E C F master foo C' D'
$ git rebase master HEAD
A B D E C F master foo C' D'
foo $ git rebase master HEAD
A B D E C F master C' D' foo
$ git rebase master HEAD
A B D E C F master C' D' foo
Headless $ git rebase master HEAD
Headless non-atteignable depuis une référence susceptible d'être "garbage collecté"
A B D E C F master C' D' foo
$ git reset --hard D foo A B D E C F C' D' HEAD
$ git reflog ... 384b39c HEAD@{10}: merge feature/bdl-auth: Fast-forward 84541fe
HEAD@{11}: checkout: moving from feature/bdl-auth to 384b39c HEAD@{12}: rebase finished: returning to refs/heads/f 384b39c HEAD@{13}: rebase: Add auth bundle
fetch
A B C D master A B master origin local
origin/master
local A B C D master A B master origin
origin/master FETCH !
A B C D master A B master C D
origin/master origin origin/master local
push
A B master A B master origin local C D
A B master A B master origin push D D
local C
A B master A B master A B A B
origin local C D D PAS ATTEIGNABLE
A B master A B master A B A B
origin local C D D NOPE
None
Atteignabilité.
https://speackerdeck.com/ubermuda https://think-like-a-git.net/ Geoffrey Bachelet @ubermuda