Chapters ▾ 2nd Edition

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.