Git
Chapters ▾ 2nd Edition

A3.11 Git Commando’s - Beheer

Beheer

Als je een Git repository beheert of iets uitgebreids moet repareren, geeft Git je een aantal beheer commando’s om je hierbij te helpen.

git gc

Het git gc commando roept “vuilnis ophalen” (“garbage collection”) aan op je repository, waarbij onnodige bestanden in je database worden verwijderd en de overgebleven bestanden in een meer efficiënte manier worden opgeslagen.

Dit commando wordt normaalgesproken in de achtergrond voor jou aangeroepen, maar je kunt het handmatig aanroepen als je dat wilt. We behandelen een paar voorbeelden in “Onderhoud”.

git fsck

Het git fsck commando wordt gebruikt om de interne database te controleren op problemen of inconsistenties.

We behandelen het slechts een keer heel kort in “Gegevensherstel” om te zoeken naar bungelende (dangling) objecten.

git reflog

Het git reflog commando neemt een log door waar in staat waar alle heads van al je branches hebben gestaan als je op zoek bent naar commits die je misschien bent verloren bij het herschrijven van histories.

We behandelen dit commando voornamelijk in “RefLog verkorte namen”, waar we het normale gebruik laten zien en hoe git log -g te gebruiken om dezelfde informatie te laten zien als in de git log uitvoer.

We behandelen ook een praktisch voorbeeld van het herstellen van zo’n verloren branch in “Gegevensherstel”.

git filter-branch

Het git filter-branch commando wordt gebruikt om grote hoeveelheden commits te herschrijven volgens een bepaald patroon, zoals het overal verwijderen van een bestand of een hele repository terug te brengen tot een enkele subdirectory voor het extraheren van een project.

In “Een bestand uit iedere commit verwijderen” leggen we het commando uit en verkennen een aantal verschillende opties zoals --commit-filter, --subdirectory-filter en --tree-filter.

In “Git-p4” en “TFS” gebruiken we dit om geïmporteerde externe repositories te op te schonen.