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
Raw Git
Search
Scott Sanders
May 05, 2014
Programming
270
2
Share
Raw Git
A quick presentation covering some of the basics of working with Git objects in Ruby.
Scott Sanders
May 05, 2014
More Decks by Scott Sanders
See All by Scott Sanders
Brubeck - A high-performance statsd-compatible aggregation daemon
jssjr
1
300
The Lifecycle of an Outage
jssjr
7
1.5k
Disaster Porn Lightning Talk
jssjr
0
400
Other Decks in Programming
See All in Programming
How We Benchmarked Quarkus: Patterns and anti-patterns
hollycummins
1
180
個人的に嬉しかったpnpmの新機能・3選
matsuo_atsushi
0
120
ついに来た!本格的なマルチクラウド時代の Google Cloud
maroon1st
0
340
10 Tips of AWS ~Gen AI on AWS~
licux
5
520
AI時代のエンジニアリングの原則 / Engineering Principles in the AI Era
haru860
0
960
KMP × Kotlin 2.3 - How Android Got Slower While iOS Builds Improved by 47%
rio432
0
100
2026年のソフトウェア開発を考える(2026/05版) / Software Engineering Scrum Fest Niigata 2026 Edition
twada
PRO
19
9.3k
Liberating Ruby's Parser from Lexer Hacks
ydah
2
2.5k
PicoRuby for IoT: Connecting to the Cloud with MQTT
yuuu
2
720
Spec Driven Development | AI Summit Vilnius
danielsogl
PRO
1
130
Cache-moi si tu peux : patterns et pièges du cache en production - Devoxx France 2026 - Conférence
slecache
0
330
書籍「ユーザーストーリーマッピング」が私のバイブル
asumikam
4
460
Featured
See All Featured
Designing for Timeless Needs
cassininazir
0
210
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
540
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
Building Applications with DynamoDB
mza
96
7k
Thoughts on Productivity
jonyablonski
76
5.1k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
270
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
220
Art, The Web, and Tiny UX
lynnandtonic
304
21k
4 Signs Your Business is Dying
shpigford
187
22k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.5k
The Curse of the Amulet
leimatthew05
1
12k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Transcript
Raw Git Underneath the porcelain and plumbing
None
What is git? • Distributed Version Control System • A
content addressable filesystem • OMG It’s full of SHA1 hashes! • With some reference logs to these hashes That’s pretty much it...
git in 15 seconds
None
None
None
None
None
None
wtf just happened?
None
so many files. ermahgerd.
None
its just a graph, really
with three main objects
“files” blobs
“directories” trees
“references to trees” commits
and a reference log
None
… because its easy let’s do this by hand
None
None
None
“blob” SP <length> NUL
None
None
None
None
None
None
None
None
None
does git work now? we made a blob!
None
None
None
NOPE!
we need our tree
“tree” SP <length> NUL <mode> <name> NUL <sha>
None
None
None
None
None
None
None
None
None
does git work yet? now we have a tree!
None
None
None
NOPE!
still need the commit
“commit” SP <length> NUL “tree <sha>” LF “author <name> <timestamp>”
LF “committer <name> <timestamp>” LF LF “<message>” LF
None
None
None
None
None
None
None
None
lol typo
None
does git work now?!? ok, we have our objects
None
None
None
NOPE!
what gives?
AKA Let’s glue it all together that pesky reflog
None
None
None
That’s it!
None
None
None
None
None
git is really simple
and extremely flexible
go build your own workflow!
and don’t be scared to look under the hood
Thanks!
github.com/jssjr @scott_sanders