-
1. Aan de slag
- 1.1 Over versiebeheer
- 1.2 Een kort historisch overzicht van Git
- 1.3 Wat is Git?
- 1.4 De commando-regel
- 1.5 Git installeren
- 1.6 Git klaarmaken voor eerste gebruik
- 1.7 Hulp krijgen
- 1.8 Samenvatting
-
2. Git Basics
-
3. Branchen in Git
- 3.1 Branches in vogelvlucht
- 3.2 Eenvoudig branchen en mergen
- 3.3 Branch-beheer
- 3.4 Branch workflows
- 3.5 Branches op afstand (Remote branches)
- 3.6 Rebasen
- 3.7 Samenvatting
-
4. Git op de server
- 4.1 De protocollen
- 4.2 Git op een server krijgen
- 4.3 Je publieke SSH sleutel genereren
- 4.4 De server opzetten
- 4.5 Git Daemon
- 4.6 Slimme HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 Hosting oplossingen van derden
- 4.10 Samenvatting
-
5. Gedistribueerd Git
-
6. GitHub
-
7. Git Tools
- 7.1 Revisie Selectie
- 7.2 Interactief stagen
- 7.3 Stashen en opschonen
- 7.4 Je werk tekenen
- 7.5 Zoeken
- 7.6 Geschiedenis herschrijven
- 7.7 Reset ontrafeld
- 7.8 Mergen voor gevorderden
- 7.9 Rerere
- 7.10 Debuggen met Git
- 7.11 Submodules
- 7.12 Bundelen
- 7.13 Vervangen
- 7.14 Het opslaan van inloggegevens
- 7.15 Samenvatting
-
8. Git aanpassen
- 8.1 Git configuratie
- 8.2 Git attributen
- 8.3 Git Hooks
- 8.4 Een voorbeeld van Git-afgedwongen beleid
- 8.5 Samenvatting
-
9. Git en andere systemen
- 9.1 Git als een client
- 9.2 Migreren naar Git
- 9.3 Samenvatting
-
10. Git Binnenwerk
- 10.1 Binnenwerk en koetswerk (plumbing and porcelain)
- 10.2 Git objecten
- 10.3 Git Referenties
- 10.4 Packfiles
- 10.5 De Refspec
- 10.6 Uitwisseling protocollen
- 10.7 Onderhoud en gegevensherstel
- 10.8 Omgevingsvariabelen
- 10.9 Samenvatting
-
A1. Bijlage A: Git in andere omgevingen
- A1.1 Grafische interfaces
- A1.2 Git in Visual Studio
- A1.3 Git in Visual Studio Code
- A1.4 Git in Eclipse
- A1.5 Git in Sublime Text
- A1.6 Git in Bash
- A1.7 Git in Zsh
- A1.8 Git in PowerShell
- A1.9 Samenvatting
-
A2. Bijlage B: Git in je applicaties inbouwen
- A2.1 Commando-regel Git
- A2.2 Libgit2
- A2.3 JGit
- A2.4 go-git
- A2.5 Dulwich
-
A3. Bijlage C: Git Commando’s
- A3.1 Setup en configuratie
- A3.2 Projecten ophalen en maken
- A3.3 Basic Snapshotten
- A3.4 Branchen en mergen
- A3.5 Projecten delen en bijwerken
- A3.6 Inspectie en vergelijking
- A3.7 Debuggen
- A3.8 Patchen
- A3.9 Email
- A3.10 Externe systemen
- A3.11 Beheer
- A3.12 Binnenwerk commando’s (plumbing commando’s)
A3.11 Bijlage C: Git Commando’s - Beheer
Beheer
Als je een Git repository beheert of iets ingrijpend 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 op een meer efficiënte manier worden opgeslagen.
Dit commando wordt normaalgesproken op 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 gebruiken het slechts een keer heel kort in Gegevensherstel om te zoeken naar loshangende (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
.