Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Raw Git
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Scott Sanders
May 05, 2014
Programming
300
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
310
The Lifecycle of an Outage
jssjr
7
1.5k
Disaster Porn Lightning Talk
jssjr
0
420
Other Decks in Programming
See All in Programming
Inertia Rails: The One-Person Framework with React & Friends
skryukov
0
210
高橋メソッドでCVE解説シリーズ 〜CVE-2026-112816〜
hakkadaikon
0
200
Next.js: The final boss of Web Performance
guaca
0
380
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
5
6.4k
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
4
3.6k
Spec-driven Development with AI
simas
PRO
0
2.2k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
560
AIがコードを書いてくれる時代、我々は何を確かめるのか
yosuke_furukawa
PRO
13
5.6k
선언형 햅틱 라이브러리 진동을 소개합니다
l2hyunwoo
1
280
Seven New Principles of Software Engineering
yegor256
0
430
No More NoSuchMethodError
exoego
1
120
[JA] Domain Modeling with Vanilla Rails: 「操作」から再考するRailsの設計論
yasaichi
4
1.8k
Featured
See All Featured
Between Models and Reality
mayunak
4
550
Tell your own story through comics
letsgokoyo
1
1.1k
Building Adaptive Systems
keathley
44
3.3k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
60k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
350
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8.2k
sira's awesome portfolio website redesign presentation
elsirapls
0
490
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
600
Abbi's Birthday
coloredviolet
4
11k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
4
4.4k
Music & Morning Musume
bryan
48
7.5k
Darren the Foodie - Storyboard
khoart
PRO
4
4.1k
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