Verteilte Versionsverwaltung mit Git
Empfohlene Schulungsdauer: 1 Tag, insgesamt 8 Unterrichtsstunden à 45 Minuten
Kursziele
Die verteilte Versionsverwaltung Git ersetzt immer stärker traditionelle lokale und zentrale Systeme zur Verwaltung von Quellcode und Ressourcen-Dateien. Es eignet sich insbesondere für die Entwicklung in Teams und gewinnt auch im Unternehmensumfeld immer stärker an Bedeutung. Die Stärke von Git liegt in der unabhängigen Softwareevolution, da jeder Entwickler mit einer Komplettversion arbeitet – die wiederum zu einem kompletten Gesamtsystem zusammengefasst wird. Das Seminar zeigt in praxisnahen Übungen den Entwicklungszyklus sowohl auf der Shell als auch in Eclipse mit EGit. Neben Alltagsaufgaben bietet das Seminar Best Practices mit (verteilter) Versionskontrolle sowie aus der Open Source Software-Entwicklung. Darüber hinaus widmet sich der Git-Kurs der Administration des Systems und geht im Ausblick auch auf Fragen ein, wie ein effektives Release-Management aussieht und wie Subversion-Repositories nach Git konvertiert werden.
Zielgruppe
Entwickler, die Git als verteiltes Versionsverwaltungssystem nutzen möchten.Kursvoraussetzungen
Erfahrungen mit Versionsverwaltungssystemen wie Subversion oder CVS sind von Vorteil.Seminarinhalte
![[LOGO]](../../images/seminare/logos/git.png)
Überblick über (verteilte) Versionsverwaltung
- Lokale, zentrale und verteilte Versionsverwaltung sowie ihre Vor- und Nachteile
- Software-Entwicklungsprozess und Release-Management
- Git-Geschichte im Zusammenhang mit dem Linux-Kernel
- Weitere Projektbeispiele für die verschiedenen Systeme
Grundlegende Konzepte
- Aufbau von Git Repositories
- Best Practices für die Strukturierung
- Revisionen und Versionsnummern
- Lokale und Remote (Bare) Repositories
- Die Staging Area
- Commit und Stash
- Commit Messages
- Branches im Detail
- Workflow in Git
- Tools und Lizenzierung
Git auf der Shell
- Installation und Konfiguration auf der Shell unter Windows, Linux und Mac
- Repositories importieren oder initialisieren
- Grundlegende Befehle wie Status-Checks, Commits, History einsehen, Undo, etc.
- Tags
- Interaktion mit anderen Repositories
- Lokale und Remote Branches
- Diff und Merge (Merge, Cherry-Pick und Rebase)
- Patches und Pull-Requests
- Aliases
Git in Eclipse
- Installation und Konfiguration des EGit Plugins
- Umsetzung der Shell-Befehle in EGit
- Besonderheiten von EGit
Git-Server-Administration
- Git Deamon und Web-Oberfläche
- Absichern der Remote-Verbindung über SSL inklusive Schüsselgenerierung
- Öffentliche Repositories
Open Source Software-Entwicklung
- GitHub als kollaborative Versionsverwaltung
- Workflow in Open Source Projekten
- Diskussion: Forks als Chance?
- Projektbeispiele
Ausblick
- Migration von SVN-Respositories
- Effektives Release-Management
- Git-Alternativen Mercurial und Bazaar
Eingesetzte Seminar-Software
Standardmäßig wird im Kurs die aktuelle Version von Git auf der Shell und EGit in Eclipse eingesetzt. Als Betriebssystem können Windows, Linux oder Mac zum Einsatz kommen.