-
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
A3.11 Anhang C: Git-Befehle - Administration
Administration
Wenn Sie ein Git-Repository verwalten oder etwas grundlegend reparieren müssen, bietet Git eine Reihe von Verwaltungsbefehlen, die Ihnen dabei helfen.
git gc
Der Befehl git gc führt eine "Garbage Collection" (Müllsammlung) in Ihrem Repository durch, entfernt unnötige Dateien in Ihrer Datenbank und packt die verbleibenden Dateien in ein effizienteres Format.
Dieser Befehl läuft normalerweise im Hintergrund für Sie, obwohl Sie ihn manuell ausführen können, wenn Sie möchten. Wir behandeln einige Beispiele davon in Wartung.
git fsck
Der Befehl git fsck wird verwendet, um die interne Datenbank auf Probleme oder Inkonsistenzen zu überprüfen.
Wir verwenden ihn nur einmal kurz in Datenwiederherstellung, um nach hängenden Objekten zu suchen.
git reflog
Der Befehl git reflog durchsucht ein Protokoll, wo sich alle Köpfe Ihrer Branches befunden haben, während Sie arbeiten, um Commits zu finden, die Sie durch das Umschreiben von Historien verloren haben könnten.
Wir behandeln diesen Befehl hauptsächlich in RefLog-Kurznamen, wo wir die normale Verwendung zeigen und wie man git log -g verwendet, um die gleichen Informationen mit der Ausgabe von git log anzuzeigen.
Wir gehen auch ein praktisches Beispiel für die Wiederherstellung eines solchen verlorenen Branches in Datenwiederherstellung durch.
git filter-branch
Der Befehl git filter-branch wird verwendet, um viele Commits nach bestimmten Mustern umzuschreiben, z. B. eine Datei überall zu entfernen oder das gesamte Repository auf ein einziges Unterverzeichnis zu filtern, um ein Projekt zu extrahieren.
In Entfernen einer Datei aus jedem Commit erklären wir den Befehl und untersuchen mehrere verschiedene Optionen wie --commit-filter, --subdirectory-filter und --tree-filter.
In Git-p4 verwenden wir ihn, um importierte externe Repositorys zu korrigieren.