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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Scott Sanders
May 05, 2014
Programming
280
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
AI 時代のソフトウェア設計の学び方
masuda220
PRO
28
10k
Stage 3 Decorators でできること / できないこと / TSKaigi 2026
susisu
1
1.2k
RailsTokyo 2026#4: AI様があれば、 Hotwireの弱点は消えるか?
naofumi
5
990
Migrations : C'est une question d'hygiène !
vinceamstoutz
0
2.2k
AI駆動開発で崩れていくコードベースを立て直す
kyoko_nr_nr
1
390
TypeSpec で繋ぐ複数プロダクトの型安全
maroon8021
1
250
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
12
3.1k
Inspired By RubyKaigi (EN)
atzzcokek
0
120
Inside Stream API
skrb
1
230
SPMマルチモジュールで テストカバレッジを取得する技法
yosshi4486
0
120
LLM Plugin for Node-REDの利用方法と開発について
404background
0
130
デフォルト運用のCodeRabbit、1年で何が変わったか / How CodeRabbit Changed Our Code Review in 1 Year
bake0937
1
110
Featured
See All Featured
Balancing Empowerment & Direction
lara
6
1.1k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
150
Unsuck your backbone
ammeep
672
58k
Designing for Timeless Needs
cassininazir
1
230
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.4k
WENDY [Excerpt]
tessaabrams
10
37k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
820
The World Runs on Bad Software
bkeepers
PRO
72
12k
Music & Morning Musume
bryan
47
7.2k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
The untapped power of vector embeddings
frankvandijk
2
1.7k
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