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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Randall Hunt
December 06, 2014
Programming
150
0
Share
Quick Git Talk
Randall Hunt
December 06, 2014
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
130
ICEE3 Keynote
ranman
0
160
Quick Git Talk
ranman
0
74
A Century Of Weather Data - Midwest.io
ranman
0
81
Other Decks in Programming
See All in Programming
Migrations : C'est une question d'hygiène !
vinceamstoutz
0
3.2k
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
350
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
12k
ReactとSvelteのその先、Ripple-TS / Beyond React and Svelte: Ripple-TS
ssssota
3
2k
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
12
3.4k
エージェンティックRAGにAWSで入門しよう!
har1101
7
680
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
2.2k
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
5
610
Claspは野良GASの夢をみるか
takter00
0
160
密結合なバックエンドから TypeScript のコードを生成する
kemuridama
1
710
Lessons from Spec-Driven Development
simas
PRO
0
130
フロントエンドとバックエンドで「1文字」を揃えよう
youkidearitai
PRO
0
190
Featured
See All Featured
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
380
Building Adaptive Systems
keathley
44
3k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
150
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.3k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
300
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Navigating Team Friction
lara
192
16k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
200
30 Presentation Tips
portentint
PRO
1
310
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
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