Diese Arbeit bietet eine Einführung in GIT und Beschreibung der wichtigen und besonderen Features.
Einfach gesagt ist Git ein Versionskontrollsystem. Andere bekannte Systeme sind beispielsweise SVN, CVS oder Bazaar. Man kann diese Systeme in zwei Gruppen unterteilen:Zentrale und dezentrale (verteilte) Systeme. Git gehört in die Gruppe der verteilten Versionskontrollsysteme. In zentralen Systemen gibt es einen Hauptserver, auf dem das Projekt liegt und mit dem sich jeder Entwickler immer wieder verbindet, um seine Änderungen einzupflegen oder sich die aktuelle Version herunterzuladen. Im Gegensatz hierzu gibt es bei verteilten Versionskontrollsystemen wie Git diverse gleichwertige Instanzen des Repositorys. Jeder Entwickler verfügt über eine vollständige lokale Kopie des Projekts, was zum Einen den Vorteil hat, dass auch ohne permanente Verbindung zum Server gearbeitet werden kann, zum Anderen ist es sicherer. Im Falle, dass der Server zeitweise ausfällt oder sogar ganz und gar beschädigt wird, kann trotzdem weiter an dem Projekt gearbeitet werden und es gäbe weiterhin noch aktuelle Kopien des Projekts.
In der Praxis existiert wohl in den meisten Fällen aber doch ein zentrales Repository, mit dem die Entwickler ihre lokalen Repositories synchronisieren, da so der Austausch zwischen den Entwicklern erleichtert wird. Wer also eine Änderung vornehmen möchte, lädt sich eine vollständige Kopie der aktuellen Version herunter, bearbeitet diese und schickt sie anschließend wieder an den Server zurück. Durch die lokale Kopie können alle Vorgänge, außer der Synchronisation mit dem entfernten Repository, lokal stattfinden. Sogar Commits und Checkouts finden bei Git zunächst lokal statt (dazu später mehr), genau wie das Einsehen oder Bearbeiten der Versionsgeschichte oder der Wechsel in einen anderen Branch. Eine Internetverbindung ist demzufolge nur selten notwendig.
Inhaltsverzeichnis
- Einführung
- Was ist Git?
- Die Geschichte hinter Git
- Git-Objekte
- Arbeiten mit Git
- Installation
- Git für Linux
- Git für Mac OS
- Git für Windows
- Repositories anlegen und verwalten
- Lokale Repositories
- Remote Repositories
- Branches
- Commit
- Merge, Rebase und Cherry-Picking
- Mergen mit Git
- Einen Rebase durchführen
- Cherry-Picking
- Merge Konflikte lösen
- Die Datei .gitignore
- Konsole vs GUI
- Shell
- GitHub
- TortoiseGit
- Git Tools
- Stagen
- Stashen
- Debugging mit blame und bisect
- Submodule
- Git Hooks
- Git und SVN
- Zu Git wechseln
- Bidirektionale Kommunikation
- Git auf dem Server
- Das Git-Protokoll
- Gitolite
- GitWeb
- Vor- und Nachteile von Git
Zielsetzung und Themenschwerpunkte
Dieser Text bietet eine umfassende Einführung in das Versionskontrollsystem Git. Er erläutert die Funktionsweise, die grundlegenden Konzepte und die Anwendung von Git in der Praxis. Der Text richtet sich an alle, die sich mit der Versionsverwaltung von Software oder anderen Inhalten beschäftigen wollen.
- Die Funktionsweise von Git als dezentrales Versionskontrollsystem
- Die verschiedenen Git-Objekte und ihre Bedeutung für die Versionsverwaltung
- Die Installation, Konfiguration und grundlegenden Befehle von Git
- Die Anwendung von Git für die Zusammenarbeit an Projekten
- Die Verwendung von Git-Tools für verschiedene Aufgaben
Zusammenfassung der Kapitel
Einführung
Dieses Kapitel führt in das Versionskontrollsystem Git ein und erläutert die grundlegenden Konzepte. Es werden die Unterschiede zwischen zentralen und dezentralen Versionskontrollsystemen beleuchtet und die Vorteile von Git als verteiltes System hervorgehoben.
Git-Objekte
Dieses Kapitel beschreibt die verschiedenen Arten von Git-Objekten: Blobs, Bäume, Commits und Tags. Es erläutert die Verwendung dieser Objekte für die Speicherung von Dateiinhalten, Verzeichnisstrukturen und Versionsinformationen.
Arbeiten mit Git
Dieses Kapitel behandelt die Installation, Konfiguration und grundlegenden Befehle von Git. Es werden Themen wie die Erstellung von Repositories, das Verwalten von Branches, das Erstellen von Commits und das Lösen von Merge-Konflikten behandelt.
Git Tools
Dieses Kapitel stellt verschiedene Git-Tools vor, die für verschiedene Aufgaben nützlich sind, z.B. Stagen, Stashen, Debugging und Git Hooks.
Git und SVN
Dieses Kapitel befasst sich mit der Migration von SVN zu Git und der bidirektionalen Kommunikation zwischen beiden Systemen.
Git auf dem Server
Dieses Kapitel behandelt die Einrichtung von Git auf einem Server und die Verwendung von Git-Protokollen, wie z.B. Gitolite und GitWeb.
Schlüsselwörter
Git, Versionskontrolle, dezentrales System, Repository, Branch, Commit, Merge, Rebase, Cherry-Picking, Git Tools, SVN, Gitolite, GitWeb
- Citation du texte
- Daniela Rabe (Auteur), 2018, Versionsverwaltung mit Git, Munich, GRIN Verlag, https://www.grin.com/document/430745