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
Quick Git Talk
Search
Randall Hunt
December 06, 2014
Programming
0
140
Quick Git Talk
Randall Hunt
December 06, 2014
Tweet
Share
More Decks by Randall Hunt
See All by Randall Hunt
AWS Lambda Crash Course
ranman
1
560
MongoDB 2.8 and MongoDB on AWS
ranman
0
120
ICEE3 Keynote
ranman
0
150
Quick Git Talk
ranman
0
59
A Century Of Weather Data - Midwest.io
ranman
0
73
Other Decks in Programming
See All in Programming
Team operations that are not burdened by SRE
kazatohiei
1
310
たった 1 枚の PHP ファイルで実装する MCP サーバ / MCP Server with Vanilla PHP
okashoi
1
250
A full stack side project webapp all in Kotlin (KotlinConf 2025)
dankim
0
120
Rubyでやりたい駆動開発 / Ruby driven development
chobishiba
1
700
ペアプロ × 生成AI 現場での実践と課題について / generative-ai-in-pair-programming
codmoninc
1
18k
データの民主化を支える、透明性のあるデータ利活用への挑戦 2025-06-25 Database Engineering Meetup#7
y_ken
0
360
Python型ヒント完全ガイド 初心者でも分かる、現代的で実践的な使い方
mickey_kubo
1
110
#kanrk08 / 公開版 PicoRubyとマイコンでの自作トレーニング計測装置を用いたワークアウトの理想と現実
bash0c7
1
770
生成AI時代のコンポーネントライブラリの作り方
touyou
1
210
PipeCDのプラグイン化で目指すところ
warashi
1
270
イベントストーミング図からコードへの変換手順 / Procedure for Converting Event Storming Diagrams to Code
nrslib
2
810
PHP 8.4の新機能「プロパティフック」から学ぶオブジェクト指向設計とリスコフの置換原則
kentaroutakeda
2
890
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Facilitating Awesome Meetings
lara
54
6.4k
Building an army of robots
kneath
306
45k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
How STYLIGHT went responsive
nonsquared
100
5.6k
A Tale of Four Properties
chriscoyier
160
23k
Practical Orchestrator
shlominoach
189
11k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Six Lessons from altMBA
skipperchong
28
3.9k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
Typedesign – Prime Four
hannesfritz
42
2.7k
Transcript
Learn You Some Git Not Your Average Git Talk
GIT IS NOT REVISION CONTROL SOFTWARE
GIT is a filesystem
None
None
Content Addressable Filesystem
"Who are you and why are you still talking?"
•I am called Randall •I know more about git than
you •Probably... maybe...
None
•I am called Randall •I know more about git than
you •Probably... maybe... •I work at AWS •I tweet @jrhunt •I wrote gitshots •I write great commit messages
s
None
•I am called Randall •I know more about git than
you •Probably... maybe... •I work at AWS •I tweet @jrhunt •I wrote gitshots •I write great commit messages •8 major patches to GIT •All of them rejected.
HALP! Wat is git?
GIT IS MAGIC •Easy Context Switching •Role-based codelines •Feature based
workflow •Easy Experimentation
Distributed Version Control
None
None
None
working directory git add -p files staging area
git commit -m "holla" staging area git database
Git Saves You From Yourself
None
DEMO
DO YOUR WORK IN BRANCHES!
NO REALLY. git checkout -b feature
Content Addressable Filesystem
git hash-object refs.c sha1(a77458f2f6eb108a90a1cf3d2cc4a771549c05f9)
Your Content Is Your Address
SHA1 1. Add Data 2. Add More Data 3. Mix
it all around 4. Get a magic number "unique" (mostly) 160 bits of ADDRESS MATH!
BRANCHES ARE REFERENCES TO COMMITS
COMMITS ARE POINTERS TO TREES
TREES ARE POINTERS TO TREES AND BLOBS
BLOBS ARE ZLIB COMPRESSED FILES
None
DIRECTED ACYCLIC GRAPH
None
RECAP • Commits -> N pointers to parents, date, metadata
• Trees -> Point to trees where leaf nodes are blobs • Blobs -> ZLIB compressed files RECAP RECAP
THIS IS NOT A TOILET
None
commit, branch, log, diff, add, etc.
None
hash-object, cat-file, ls-tree, (un)pack
None
GIT QUESTIONS?
I GIT ANSWERS