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
130
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
540
MongoDB 2.8 and MongoDB on AWS
ranman
0
120
ICEE3 Keynote
ranman
0
140
Quick Git Talk
ranman
0
45
A Century Of Weather Data - Midwest.io
ranman
0
66
Other Decks in Programming
See All in Programming
上手な探索的テストとその上達方法について
matsu802
4
650
TCA魔法学入門🪄
dazy
0
280
「コンパイル時のユニットテスト」導入するとユニットテストを 書かなくてよくなるのか?
tomohisa
9
2.1k
ここ1~2年くらいで 使えるようになった(主要ブラウザーの最新版 がすべて対応した ) ウェブの新機能について ランダムに喋る!
myzkyy
9
6.4k
プロンプトエンジニアリング入門
tomokusaba
2
970
OpenTelemetry のサービスという概念について
azukiazusa1
1
390
Understanding Ast By Looking
inouehi
0
120
Building a Smaller App Binary
kateinoigakukun
2
200
Prepare for Jakarta EE 11 - Performance and Developer Productivity
ivargrimstad
0
480
デザインシステムで Tailwind CSSとCSS in JSに分散投資をしたら良かった話
fsubal
14
3.1k
Learning PHP and Static Analysis with PHP Parser
inouehi
1
250
Ruby製社内ツールのGo移行
bgpat
2
260
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
34
8.8k
How GitHub Uses GitHub to Build GitHub
holman
467
290k
The Art of Programming - Codeland 2020
erikaheidi
40
12k
Infographics Made Easy
chrislema
237
18k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
113
18k
BBQ
matthewcrist
78
8.7k
Large-scale JavaScript Application Architecture
addyosmani
501
110k
Become a Pro
speakerdeck
PRO
8
4.4k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
How to train your dragon (web standard)
notwaldorf
71
5.1k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
6
950
Building Your Own Lightsaber
phodgson
97
5.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