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
Why on earth is git super awesome?
Search
Christopher Brown
September 28, 2011
Programming
4
250
Why on earth is git super awesome?
Christopher Brown
September 28, 2011
Tweet
Share
More Decks by Christopher Brown
See All by Christopher Brown
Crucible
xoebus
0
260
Concourse
xoebus
0
130
Final Project Presentation - Database Filesystem
xoebus
2
280
Accessing Databases by using a Filesystem
xoebus
2
120
Database Visualisation
xoebus
2
130
Other Decks in Programming
See All in Programming
Le côté obscur des IA génératives
pascallemerrer
0
140
[Kaigi on Rais 2025] 全問正解率3%: RubyKaigiで出題したやりがちな危険コード5選
power3812
0
120
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
160
After go func(): Goroutines Through a Beginner’s Eye
97vaibhav
0
380
技術的負債の正体を知って向き合う / Facing Technical Debt
irof
0
170
私はどうやって技術力を上げたのか
yusukebe
43
18k
デミカツ切り抜きで面倒くさいことはPythonにやらせよう
aokswork3
0
230
uniqueパッケージの内部実装を支えるweak pointerの話
magavel
0
990
私達はmodernize packageに夢を見るか feat. go/analysis, go/ast / Go Conference 2025
kaorumuta
2
540
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
190
Writing Better Go: Lessons from 10 Code Reviews
konradreiche
0
1.1k
overlayPreferenceValue で実現する ピュア SwiftUI な AdMob ネイティブ広告
uhucream
0
180
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Unsuck your backbone
ammeep
671
58k
The Straight Up "How To Draw Better" Workshop
denniskardys
238
140k
A better future with KSS
kneath
239
18k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Why Our Code Smells
bkeepers
PRO
339
57k
Automating Front-end Workflow
addyosmani
1371
200k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.5k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
900
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
Transcript
? WHY ON EARTH IS GIT SUPER AWESOME
git *
...is distributed. git *
?
Centralised
None
Slow Network Required Poor Branching Restrictive
Distributed
None
Fast No Network Needed Any Workflow Safer
Developer Developer Developer Integration Manager Blessed Repository
git *
...is easy. git *
Core (Plumbing) UI (Porcelain)
$ cd my-project $ git init Initialized empty Git repository
in /Users/cb/my-project/.git/ $ git add . $ git commit -m “initial commit”
$ cd my-project $ git init Initialized empty Git repository
in /Users/cb/my-project/.git/ $ git add . $ git commit -m “initial commit”
$ cd my-project $ git init Initialized empty Git repository
in /Users/cb/my-project/.git/ $ git add . $ git commit -m “initial commit”
$ cd my-project $ git init Initialized empty Git repository
in /Users/cb/my-project/.git/ $ git add . $ git commit -m “initial commit”
$ cd my-project $ git init Initialized empty Git repository
in /Users/cb/my-project/.git/ $ git add . $ git commit -m “initial commit”
$ vim ... $ git commit -am “changed some widgets”
$ vim ... $ git commit -am “changed some widgets”
Done.
git merge git blame git status git log git checkout
git branch git clone git rebase git config git revert git tag git reset git bisect git pull git fetch git stash git add
git merge git blame git status git log git checkout
git branch git clone git rebase git config git revert git tag git reset git bisect git pull git fetch git stash git add
git *
...is fast. git *
...and stupid.
stupid = simple
simple = fast
Commit Tree Blob Tag
Commit
Commit Tree Tree Blob Blob Blob
Commit Commit
Commit Commit Commit
Commit Commit Commit Commit Commit
Commit Commit Commit Commit Commit Commit
Commit Tag
git *
...is friendly. git *
None
Pull Requests Issues Wikis Community
git *
...is reliable. git *
Industry Usage
Industry Support Linux Kernel Google Eclipse Android
IDE Support
git *
...is branch-able. git *
$ git branch quick-test
$ git merge quick-test
$ git branch -d quick-test
git *
...is efficient. git *
Cheap Local Branching
zlib Compression
Only Send Changes
git *
...is free. git *
None
git *
...is not perfect! git *
No Partial Checkouts
Limited Binary Support
* git
...is awesome. git *
Fin.
Fin. Questions? @xoebus
[email protected]
xoebus
Fin. http://git-scm.com @xoebus
[email protected]
xoebus