Versionsverwaltung mit Git
Eine Einführung ins Source Code Management
Software Engineering, Wintersemester 2012/2013
Jakob Schöttl, Fakultät 04, jschoett@gmail.com 2
Versionsverwaltung mit Git
18.11.12Agenda
Einführung
– Beispiele für Version Control Systems – Geschichte und Entwicklung von Git – Designziele bei Git
Wie Git funktioniert …
Wichtige Tools
Arbeiten mit „remotes“
Ausblick
Jakob Schöttl, Fakultät 04, jschoett@gmail.com 3
Versionsverwaltung mit Git
18.11.12Beispiele für Version Control Systems
CVS
Subversion/SVN
Mercurial (hg)
Git
Jakob Schöttl, Fakultät 04, jschoett@gmail.com 4
Versionsverwaltung mit Git
18.11.12 Linux-Kernel brauchte neues VCS
April 2005: Linus Torvalds veröffentlicht erste Version von Git
Dezember 2005: Version 1.0.0
Aktuell: Version 1.8.0
Geschichte und Entwicklung von Git
„I'm an egoistical bastard, and I name all my projects after myself.
First Linux, now git.“ – Linus Torvalds
Jakob Schöttl, Fakultät 04, jschoett@gmail.com 5
Versionsverwaltung mit Git
18.11.12Starke Unterstützung für
Nicht-lineare Entwicklung
Verteilte Arbeitsabläufe
Sicherheit gegen Verfälschung
Effizienz
Designziele bei Git
Jakob Schöttl, Fakultät 04, jschoett@gmail.com 6
Versionsverwaltung mit Git
18.11.12Wie Git funktioniert …
Repository
Branch
Commit (Checkin)
Jakob Schöttl, Fakultät 04, jschoett@gmail.com 7
Versionsverwaltung mit Git
18.11.12 Repository
Branch
Commit
Wie Git funktioniert …
Jakob Schöttl, Fakultät 04, jschoett@gmail.com 8
Versionsverwaltung mit Git
18.11.12Wie Git funktioniert …
Repository
Branch
Commit (Checkin)
Jakob Schöttl, Fakultät 04, jschoett@gmail.com 9
Versionsverwaltung mit Git
18.11.12Wie Git funktioniert …
Jakob Schöttl, Fakultät 04, jschoett@gmail.com 10
Versionsverwaltung mit Git
18.11.12 Repository
Branch
Commit
Wie Git funktioniert …
Jakob Schöttl, Fakultät 04, jschoett@gmail.com 11
Versionsverwaltung mit Git
18.11.12Wie Git funktioniert …
Add
Remove (rm)
Commit
Jakob Schöttl, Fakultät 04, jschoett@gmail.com 12
Versionsverwaltung mit Git
18.11.12 Repository
Branch
Commit (Checkin)
Wie Git funktioniert …
Jakob Schöttl, Fakultät 04, jschoett@gmail.com 13
Versionsverwaltung mit Git
18.11.12Wie Git funktioniert …
Jakob Schöttl, Fakultät 04, jschoett@gmail.com 14
Versionsverwaltung mit Git
18.11.12Wie Git funktioniert …
Jakob Schöttl, Fakultät 04, jschoett@gmail.com 15
Versionsverwaltung mit Git
18.11.12Wie Git funktioniert …
Jakob Schöttl, Fakultät 04, jschoett@gmail.com 16
Versionsverwaltung mit Git
18.11.12Wie Git funktioniert …
Jakob Schöttl, Fakultät 04, jschoett@gmail.com 17
Versionsverwaltung mit Git
18.11.12Wie Git funktioniert …
Jakob Schöttl, Fakultät 04, jschoett@gmail.com 18
Versionsverwaltung mit Git
18.11.12Wie Git funktioniert …
Jakob Schöttl, Fakultät 04, jschoett@gmail.com 19
Versionsverwaltung mit Git
18.11.12Wie Git funktioniert …
Jakob Schöttl, Fakultät 04, jschoett@gmail.com 20
Versionsverwaltung mit Git
18.11.12Wichtige Tools
Log
Show
Diff
Jakob Schöttl, Fakultät 04, jschoett@gmail.com 21
Versionsverwaltung mit Git
18.11.12Arbeiten mit „remotes“
„remotes“ sind andere Git-Repositories
Clone
Push
Fetch (Pull)
Jakob Schöttl, Fakultät 04, jschoett@gmail.com 22
Versionsverwaltung mit Git
18.11.12Ausblick
Undoing
Stashing
Tagging
Rebasing
Workflows
Submodules
Customization
…
Jakob Schöttl, Fakultät 04, jschoett@gmail.com 23
Versionsverwaltung mit Git
18.11.12Danke für die Aufmerksamkeit
http://git-scm.com
Scott Chacon: Pro Git
Aus dem Buch sind speziell auch die tollen Grafiken
Wikipedia und deren Quellen
Die Webseiten der anderen VCS
Mailinglisten
Quellen
Lizenz: CC BY-NC-SA 3.0 <http://creativecommons.org/licenses/by-nc-sa/3.0/>
Jakob Schöttl, Fakultät 04, jschoett@gmail.com 24
Versionsverwaltung mit Git
18.11.12Anhang (1) – Tipps
Introduction to Git (1:22 h Video auf YouTube)
https://www.youtube.com/watch?v=ZDR433b0HJY
Das Buch Pro Git gibt's kostenlos auf http://git-scm.com/book
Hilfe zu einzelnen Git-Befehlen:
git [command] --help
Jakob Schöttl, Fakultät 04, jschoett@gmail.com 25