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
Sei kein Blödmann und nimm Git!
Search
Stefan Imhoff
September 27, 2011
Education
3
190
Sei kein Blödmann und nimm Git!
Intro to Git (in German).
Stefan Imhoff
September 27, 2011
Tweet
Share
Other Decks in Education
See All in Education
Data Physicalisation - Lecture 9 - Next Generation User Interfaces (4018166FNR)
signer
PRO
0
440
ビジネスモデル理解
takenawa
0
6.1k
JOAI2025講評 / joai2025-review
upura
0
160
Sponsor the Conference | VizChitra 2025
vizchitra
0
550
Info Session MSc Computer Science & MSc Applied Informatics
signer
PRO
0
190
SkimaTalk Introduction for Students
skimatalk
0
380
小さなチャレンジが生んだチームの大きな変化 -私のふりかえり探求の原点
callas1900
0
540
第1回大学院理工学系説明会|東京科学大学(Science Tokyo)
sciencetokyo
PRO
0
3.8k
Pydantic(AI)とJSONの詳細解説
mickey_kubo
0
110
SkimaTalk Tutorial for Students
skimatalk
0
1.8k
2025年度春学期 統計学 第1回 イントロダクション (2025. 4. 10)
akiraasano
PRO
0
180
Tangible, Embedded and Embodied Interaction - Lecture 7 - Next Generation User Interfaces (4018166FNR)
signer
PRO
0
1.7k
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
A designer walks into a library…
pauljervisheath
207
24k
How to Ace a Technical Interview
jacobian
277
23k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
Fireside Chat
paigeccino
37
3.5k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
Transcript
Sei (k)ein Blödmann und nimm Git! Einführung in Versionskontrolle mit
Git Stefan Imhoff http://stefanimhoff.de 04.08.2009
Git /gɪt/ Nomen (Britisch, Slang) 1. Blödmann, Depp, Idiot
»Ich bin ein egoistischer Bastard und benenne alle meine Projekte
nach mir selbst. Zuerst Linux, jetzt Git.« – Linus Torvalds
Fakten & Statistiken Warum Git die Mitbewerber abhängt
Git Mercurial Bazaar 0,60 0,059 0,024 Init (Sekunden) Quelle: Scott
Chacon, whygitisbetterthanx.com
Git Mercurial Bazaar 2,381 0,368 8,535 Add (Sekunden) Quelle: Scott
Chacon, whygitisbetterthanx.com
Git Mercurial Bazaar 14,744 1,946 0,451 Status (Sekunden) Quelle: Scott
Chacon, whygitisbetterthanx.com
Git Mercurial Bazaar 14,248 2,189 0,543 Diff (Sekunden) Quelle: Scott
Chacon, whygitisbetterthanx.com
Git Mercurial Bazaar 1,892 1,201 0,056 Tag (Sekunden) Quelle: Scott
Chacon, whygitisbetterthanx.com
Git Mercurial Bazaar 9,055 2,65 0,711 Log (Sekunden) Quelle: Scott
Chacon, whygitisbetterthanx.com
Git Mercurial Bazaar 23,002 12,5 12,48 Commit, groß (Sekunden) Quelle:
Scott Chacon, whygitisbetterthanx.com
Git Mercurial Bazaar 1,139 0,517 0,086 Commit, klein (Sekunden) Quelle:
Scott Chacon, whygitisbetterthanx.com
Git Mercurial Bazaar 82,249 94,681 1,161 Branch, kalt (Sekunden) Quelle:
Scott Chacon, whygitisbetterthanx.com
Git Mercurial Bazaar 39,411 12,3 0,07 Branch, heiß (Sekunden) Quelle:
Scott Chacon, whygitisbetterthanx.com
Git Mercurial Bazaar Subversion 61 64 53 43 45 34
24 Repository (MB) Gesamtes Verzeichnis (MB) Quelle: Scott Chacon, whygitisbetterthanx.com
Git Mercurial Bazaar Subversion 64 311 144 119 Clone (Sekunden)
Quelle: Scott Chacon, whygitisbetterthanx.com
Theorie & Grundlagen Wer das versteht, ist klar im Vorteil
…
.git
None
SHA-I
Hallo, Welt!
8095a184a9b9ae8a14a0f0cde697c7f7cf1410e6
Meta-Informationen (Datum, Name, Ort)
Meta-Informationen (Datum, Name, Ort)
Meta-Informationen (Datum, Name, Ort)
Warum? • Konsistente Inhalte • Gleicher Inhalt = gleicher Blob
Objekte
• blobs • trees • commits • tags
Blobs
Dateiinhalte
Trees
• blobs • trees
Commits
• tree • parent • author • commiter • message
• datetime
Tags
• object • type • tagger • message
Konfiguration Sag mir wie du heißt, Baby!
git config
git config --global user.name "Stefan Imhoff" git config --global user.email
"
[email protected]
"
None
.gitignore
None
Tägliche Arbeit Business, not as usual
git clone
None
git init
None
git status
None
Working Directory Local
git add
None
Working Directory Staging Area Local
Working Directory Staging Area Local
Working Directory Staging Area git add Local
None
git commit
None
Working Directory Staging Area Local Repository git add Local
Working Directory Staging Area Local Repository git add Local
Working Directory Staging Area Local Repository git add git commit
Local
master
git log
None
None
git rm
None
None
git diff
None
git branch
None
None
None
master neuerzweig
git checkout
None
None
None
Working Directory Staging Area Local Repository git add git commit
Local
Working Directory Staging Area Local Repository git add git commit
Local
Working Directory Staging Area Local Repository git add git commit
git checkout Local
git merge
None
Working Directory Staging Area Local Repository git add git commit
git checkout Local
Working Directory Staging Area Local Repository git add git commit
git checkout Local
Working Directory Staging Area Local Repository git add git commit
git checkout git merge Local
master neuerzweig
None
git tag
None
Probleme & Wartung Keine Panik auf der Titanic
git commit --amend
None
None
git checkout
None
git reset
None
git blame
None
git revert
None
git mergetool
None
None
git bisect
None
Bad Good ?
Bad Good Good ?
Bad Good Good Bad ?
git gc
None
Remote E.T. nach Hause telefonieren
Lokales Repository veröffentlichen
None
None
None
None
git remote
None
None
git fetch
None
None
Working Directory Staging Area Local Repository Remote Repository git add
git commit git checkout git merge Local Remote
Working Directory Staging Area Local Repository Remote Repository git add
git commit git checkout git merge Local Remote
Working Directory Staging Area Local Repository Remote Repository git add
git commit git fetch git checkout git merge Local Remote
git pull
None
Working Directory Staging Area Local Repository Remote Repository git add
git commit git checkout Local Remote
Working Directory Staging Area Local Repository Remote Repository git add
git commit git checkout Local Remote
Working Directory Staging Area Local Repository Remote Repository git add
git commit git fetch git checkout Local Remote
Working Directory Staging Area Local Repository Remote Repository git add
git commit git fetch git checkout Local Remote
Working Directory Staging Area Local Repository Remote Repository git add
git commit git fetch git checkout git merge Local Remote
git push
None
Working Directory Staging Area Local Repository Remote Repository git add
git commit git checkout git merge Local Remote git fetch
Working Directory Staging Area Local Repository Remote Repository git add
git commit git checkout git merge Local Remote git fetch
Working Directory Staging Area Local Repository Remote Repository git add
git commit git push git checkout git merge Local Remote git fetch
git submodules
None
None
None
Profi-Techiken Der Wuxi-Fingergriff von Git
Leere Branches anlegen
None
History verändern
None
git svn
None
git svn rebase git svn dcommit
git instaweb
None
None
git stash
None
None
None
Klicki-Bunti Aber gibt’s dat auch für Maus?
Git Gui
None
None
None
Git Extensions
None
None
TortoiseGit
None
None
None
None
None
None
GitK
None
GitX
None
None
Und los geht’s … Bereit Versionsgeschichte zu schreiben?
Vielen Dank!
Eingesetzte Fotos Die in dieser Präsentation eingesetzten Fotos stammen von
iStockphoto. 8916384 7941768 3391085 1945196 5823044 2699704 7952299 3142537 7420635 7692057 4144887
Eingesetzte Schriften Delicious http://www.josbuivenga.demon.nl/delicious.html Baskerville (&)
Fragen & Antworten