Git ist ein ursprünglich für die Verwaltung des Linux-Kernels entwickeltes freies Versionskontrollsystem. Kein geringerer als Linus Torvalds begann 2005 mit der Entwicklung von Git um das bisherige Versionskontrollsystem BitKeeper zu ersetzen. Git läuft auf fast allen modernen UNIX-artigen Systemen und mit Hilfe der Cygwin-Umgebung oder Msysgit sogar auf Microsoft Windows.
Git ist ein verteiltes Versionsverwaltungssystem, das sich in einigen Eigenschaften von traditionellen Versionskontrollsystemen unterscheidet:
- Nicht-lineare Entwicklung: Das Erstellen neuer Entwicklungszweige (branching) unddas Verschmelzen zweier oder mehrerer Zweige (merging) sind integraler Bestandteil der Arbeit mit Git.
- Kein zentraler Server: Jeder Benutzer besitzt eine lokale Kopie des gesamten Repositories, inklusive der Versionsgeschichte (history).
- Datentransfer zwischen Repositories: Daten können mit einer Reihe verschiedener Protokolle zwischen Repositories übertragen werden.
- Kryptographische Sicherheit der Projektgeschichte: Die Geschichte eines Projektes wird so gespeichert, dass der Name einer beliebigen Revision (commit) auf der vollständigen Geschichte basiert, die zu dieser Revision geführt hat. Dadurch ist es nicht möglich, die Versionsgeschichte nachträglich zu manipulieren, ohne dass sich der Name der Revision ändert.
- Verzeichnisbasiertes Verständnis: Git arbeitet nicht auf einzelnen Dateien, sondern auf Verzeichnissen und Hierarchien von Verzeichnissen.
- Säubern des Repositories: Die Daten gelöschter und zurückgenommener Aktionen und Entwicklungszweige bleiben vorhanden (und können wiederhergestellt werden), bis sie explizit gelöscht werden.
- Interoperabilität: Es existieren eine Reihe von Hilfsprogrammen, die Interoperabilität zwischen Git und anderen Versionskontrollsystemen herstellen.
Bei O’Reilly ist soeben Git – kurz & gut erschienen, es führt in die Arbeit mit Git ein, erläutert die Installation und Konfiguration und zeigt an praxisnahen Beispielen die Arbeit mit dem Versionsverwaltungssystem auf.