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
240
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
250
Concourse
xoebus
0
120
Final Project Presentation - Database Filesystem
xoebus
2
270
Accessing Databases by using a Filesystem
xoebus
2
110
Database Visualisation
xoebus
2
120
Other Decks in Programming
See All in Programming
Tuning GraphQL on Rails
pyama86
2
1.2k
Quine, Polyglot, 良いコード
qnighy
4
540
OpenTelemetryでRailsのパフォーマンス分析を始めてみよう(KoR2024)
ymtdzzz
5
1.8k
PHP でアセンブリ言語のように書く技術
memory1994
PRO
1
150
2万ページのSSG運用における工夫と注意点 / Vue Fes Japan 2024
chinen
3
1.4k
Identifying User Idenity
moro
6
8.7k
Pinia Colada が実現するスマートな非同期処理
naokihaba
2
170
Kubernetes for Data Engineers: Building Scalable, Reliable Data Pipelines
sucitw
1
200
Importmapを使ったJavaScriptの 読み込みとブラウザアドオンの影響
swamp09
4
1.3k
Kotlin2でdataクラスの copyメソッドを禁止する/Data class copy function to have the same visibility as constructor
eichisanden
1
160
弊社の「意識チョット低いアーキテクチャ」10選
texmeijin
5
24k
現場で役立つモデリング 超入門
masuda220
PRO
14
3k
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Typedesign – Prime Four
hannesfritz
39
2.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
Done Done
chrislema
181
16k
A Tale of Four Properties
chriscoyier
156
23k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
Product Roadmaps are Hard
iamctodd
PRO
48
10k
Fireside Chat
paigeccino
32
3k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Unsuck your backbone
ammeep
668
57k
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