-
1. Erste Schritte
- 1.1 Über Versionskontrolle
- 1.2 Eine kurze Geschichte von Git
- 1.3 Was ist Git?
- 1.4 Die Kommandozeile
- 1.5 Git installieren
- 1.6 Erstmalige Git-Einrichtung
- 1.7 Hilfe bekommen
- 1.8 Zusammenfassung
-
2. Git Grundlagen
-
3. Git Branching
- 3.1 Branches im Überblick
- 3.2 Grundlegendes Branching und Merging
- 3.3 Branch-Management
- 3.4 Branching-Workflows
- 3.5 Remote-Branches
- 3.6 Rebasing
- 3.7 Zusammenfassung
-
4. Git auf dem Server
- 4.1 Die Protokolle
- 4.2 Git auf einem Server einrichten
- 4.3 Generieren Ihres SSH-Public-Keys
- 4.4 Einrichten des Servers
- 4.5 Git Daemon
- 4.6 Smart HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 Drittanbieter-Hosting-Optionen
- 4.10 Zusammenfassung
-
5. Verteiltes Git
-
6. GitHub
-
7. Git-Werkzeuge
- 7.1 Revisionsauswahl
- 7.2 Interaktives Staging
- 7.3 Stashing und Bereinigen
- 7.4 Ihre Arbeit signieren
- 7.5 Suchen
- 7.6 Historie umschreiben
- 7.7 Reset entmystifiziert
- 7.8 Fortgeschrittenes Merging
- 7.9 Rerere
- 7.10 Debugging mit Git
- 7.11 Submodule
- 7.12 Bundling
- 7.13 Ersetzen
- 7.14 Credential-Speicher
- 7.15 Zusammenfassung
-
8. Git anpassen
-
9. Git und andere Systeme
- 9.1 Git als Client
- 9.2 Migration zu Git
- 9.3 Zusammenfassung
-
10. Git-Interna
- 10.1 Plumbing und Porcelain
- 10.2 Git-Objekte
- 10.3 Git-Referenzen
- 10.4 Packfiles
- 10.5 Die Refspec
- 10.6 Übertragungsprotokolle
- 10.7 Wartung und Datenwiederherstellung
- 10.8 Umgebungsvariablen
- 10.9 Zusammenfassung
-
Anhang A: Git in anderen Umgebungen
- A1.1 Grafische Oberflächen
- A1.2 Git in Visual Studio
- A1.3 Git in Visual Studio Code
- A1.4 Git in IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine
- A1.5 Git in Sublime Text
- A1.6 Git in Bash
- A1.7 Git in Zsh
- A1.8 Git in PowerShell
- A1.9 Zusammenfassung
-
Anhang B: Git in Ihre Anwendungen einbetten
- A2.1 Kommandozeilen-Git
- A2.2 Libgit2
- A2.3 JGit
- A2.4 go-git
- A2.5 Dulwich
-
Anhang C: Git-Befehle
- A3.1 Einrichtung und Konfiguration
- A3.2 Projekte abrufen und erstellen
- A3.3 Grundlegendes Snapshotting
- A3.4 Branching und Merging
- A3.5 Projekte teilen und aktualisieren
- A3.6 Inspektion und Vergleich
- A3.7 Debugging
- A3.8 Patching
- A3.9 E-Mail
- A3.10 Externe Systeme
- A3.11 Administration
- A3.12 Plumbing-Befehle
1.2 Erste Schritte - Eine kurze Geschichte von Git
Eine kurze Geschichte von Git
Wie viele großartige Dinge im Leben begann Git mit ein wenig kreativer Zerstörung und feuriger Kontroverse.
Der Linux-Kernel ist ein Open-Source-Softwareprojekt von ziemlich großem Umfang. In den frühen Jahren der Wartung des Linux-Kernels (1991–2002) wurden Änderungen an der Software als Patches und archivierte Dateien weitergegeben. Im Jahr 2002 begann das Linux-Kernel-Projekt, ein proprietäres DVCS namens BitKeeper zu verwenden.
Im Jahr 2005 zerbrach die Beziehung zwischen der Community, die den Linux-Kernel entwickelte, und dem kommerziellen Unternehmen, das BitKeeper entwickelte, und der kostenlose Status des Tools wurde widerrufen. Dies veranlasste die Linux-Entwicklungs-Community (und insbesondere Linus Torvalds, den Schöpfer von Linux), ihr eigenes Werkzeug zu entwickeln, das auf einigen der Lektionen basiert, die sie bei der Verwendung von BitKeeper gelernt hatten. Einige der Ziele des neuen Systems waren wie folgt:
-
Geschwindigkeit
-
Einfaches Design
-
Starke Unterstützung für nicht-lineare Entwicklung (Tausende parallele Branches)
-
Vollständig verteilt
-
Fähigkeit, große Projekte wie den Linux-Kernel effizient zu handhaben (Geschwindigkeit und Datengröße)
Seit seiner Entstehung im Jahr 2005 hat sich Git weiterentwickelt und ausgereift, um einfach zu bedienen zu sein und dennoch diese ursprünglichen Qualitäten beizubehalten. Es ist erstaunlich schnell, sehr effizient bei großen Projekten und verfügt über ein unglaubliches Branching-System für nicht-lineare Entwicklung (siehe Git Branching).