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
200
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
多様なメンター、多様な基準
yasulab
6
20k
From Participation to Outcomes
territorium
PRO
0
330
Multimodal Interaction - Lecture 3 - Next Generation User Interfaces (4018166FNR)
signer
PRO
0
2k
Flinga
matleenalaakso
4
15k
Avoin jakaminen ja Creative Commons -lisenssit
matleenalaakso
0
2.1k
栃木にいても「だいじ」だっぺ〜! 栃木&全国アジャイルコミュニティへの参加・運営の魅力
sasakendayo
1
180
演習:Gitの応用操作 / 05-git-advanced
kaityo256
PRO
0
230
TinyGoをWebブラウザで動かすための方法+アルファ_20260201
masakiokuda
2
300
【ZEPメタバース校舎操作ガイド】
ainischool
0
140
【ベテランCTOからのメッセージ】AIとか組織とかキャリアとか気になることはあるけどさ、個人の技術力から目を背けないでやっていきましょうよ
netmarkjp
2
4k
滑空スポーツ講習会2025(実技講習)EMFT学科講習資料/JSA EMFT 2025
jsaseminar
0
310
心理学を学び活用することで偉大なスクラムマスターを目指す − 大学とコミュニティを組み合わせた学びの循環 / Becoming a great Scrum Master by learning and using psychology
psj59129
1
2.1k
Featured
See All Featured
Information Architects: The Missing Link in Design Systems
soysaucechin
0
840
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
240
Odyssey Design
rkendrick25
PRO
2
560
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
200
[SF Ruby Conf 2025] Rails X
palkan
2
850
Utilizing Notion as your number one productivity tool
mfonobong
4
270
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
130
Deep Space Network (abreviated)
tonyrice
0
95
Game over? The fight for quality and originality in the time of robots
wayneb77
1
140
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