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
61
A Century Of Weather Data - Midwest.io
ranman
0
73
Other Decks in Programming
See All in Programming
Swift Concurrency - 状態監視の罠
objectiveaudio
2
520
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
170
All About Angular's New Signal Forms
manfredsteyer
PRO
0
140
overlayPreferenceValue で実現する ピュア SwiftUI な AdMob ネイティブ広告
uhucream
0
180
ALL CODE BASE ARE BELONG TO STUDY
uzulla
17
2.7k
20251016_Rails News ~Rails 8.1の足音を聴く~
morimorihoge
1
110
Le côté obscur des IA génératives
pascallemerrer
0
140
CSC305 Lecture 05
javiergs
PRO
0
210
理論と実務のギャップを超える
eycjur
0
130
(Extension DC 2025) Actor境界を越える技術
teamhimeh
1
250
Serena MCPのすすめ
wadakatu
4
990
私達はmodernize packageに夢を見るか feat. go/analysis, go/ast / Go Conference 2025
kaorumuta
2
550
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
27
2k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
4 Signs Your Business is Dying
shpigford
185
22k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Visualization
eitanlees
149
16k
How to Ace a Technical Interview
jacobian
280
24k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
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