-
1. Erste Schritte
-
2. Git Grundlagen
-
3. Git Branching
- 3.1 Branches auf einen Blick
- 3.2 Einfaches 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 Erstellung eines SSH-Public-Keys
- 4.4 Einrichten des Servers
- 4.5 Git-Daemon
- 4.6 Smart HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 Von Drittanbietern gehostete Optionen
- 4.10 Zusammenfassung
-
5. Verteiltes Git
-
6. GitHub
-
7. Git Tools
- 7.1 Revisions-Auswahl
- 7.2 Interaktives Stagen
- 7.3 Stashen und Bereinigen
- 7.4 Deine Arbeit signieren
- 7.5 Suchen
- 7.6 Den Verlauf umschreiben
- 7.7 Reset entzaubert
- 7.8 Fortgeschrittenes Merging
- 7.9 Rerere
- 7.10 Debuggen mit Git
- 7.11 Submodule
- 7.12 Bundling
- 7.13 Replace (Ersetzen)
- 7.14 Anmeldeinformationen speichern
- 7.15 Zusammenfassung
-
8. Git einrichten
- 8.1 Git Konfiguration
- 8.2 Git-Attribute
- 8.3 Git Hooks
- 8.4 Beispiel für Git-forcierte Regeln
- 8.5 Zusammenfassung
-
9. Git und andere VCS-Systeme
- 9.1 Git als Client
- 9.2 Migration zu Git
- 9.3 Zusammenfassung
-
10. Git Interna
-
A1. Anhang A: Git in anderen Umgebungen
- A1.1 Grafische Schnittstellen
- 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
-
A2. Anhang B: Git in deine Anwendungen einbetten
- A2.1 Die Git-Kommandozeile
- A2.2 Libgit2
- A2.3 JGit
- A2.4 go-git
- A2.5 Dulwich
-
A3. Anhang C: Git Kommandos
- A3.1 Setup und Konfiguration
- A3.2 Projekte importieren und erstellen
- A3.3 Einfache Snapshot-Funktionen
- A3.4 Branching und Merging
- A3.5 Projekte gemeinsam nutzen und aktualisieren
- A3.6 Kontrollieren und Vergleichen
- A3.7 Debugging
- A3.8 Patchen bzw. Fehlerkorrektur
- A3.9 E-mails
- A3.10 Externe Systeme
- A3.11 Administration
- A3.12 Basisbefehle
A3.11 Anhang C: Git Kommandos - Administration
Administration
Wenn du ein Git-Repository verwaltest oder etwas in größerem Umfang reparieren musst, bietet Git eine Reihe von Verwaltungsbefehlen, die dich dabei unterstützen.
git gc
Der Befehl git gc führt „garbage collection“ (dt. Speicherbereinigung) auf deinem Repository aus. Er entfernt unnötige Dateien aus deiner Datenbank und packt die verbleibenden Dateien in ein effizientes Format.
Dieser Befehl läuft normalerweise im Hintergrund ab. Wenn du willst, kannst du ihn aber auch manuell ausführen. Wir werden einige Beispiele dafür in Wartung näher betrachten.
git fsck
Der Befehl git fsck wird zur Überprüfung der internen Datenbank auf Probleme oder Inkonsistenzen verwendet.
Wir beschreiben ihn nur kurz in Datenwiederherstellung, um nach verwaisten Objekten zu suchen.
git reflog
Der Befehl git reflog untersucht ein Log-Protokoll, in dem alle Heads deiner Branches aufgezeichnet sind, während du daran gearbeitet hast. So kannst du Commits finden, die du durch das Umschreiben der Historie verloren haben könntest.
Wir beschäftigen uns mit diesem Befehl hauptsächlich in RefLog Kurzformen. Dort zeigen wir die normale Benutzung und die Verwendung von git log -g, um die gleichen Informationen so zu formatieren damit sie wie mit der git log Ausgabe aussehen.
Wir stellen in Datenwiederherstellung ein praktisches Beispiel für die Wiederherstellung einer derart verloren gegangener Branch vor.
git filter-branch
Der Befehl git filter-branch wird verwendet, um eine große Anzahl von Commits nach bestimmten Mustern neu zu schreiben – zum Beispiel, um eine Datei aus der gesamten Historie zu entfernen oder das Repository auf ein bestimmtes Unterverzeichnis zu reduzieren, um daraus ein separates Projekt zu erstellen.
In Eine Datei aus jedem Commit entfernen erklären wir den Befehl und untersuchen verschiedene Optionen wie --commit-filter, --subdirectory-filter und --tree-filter.
In Git-p4 verwenden wir ihn, um importierte externe Repositorys zu berichtigen.