Basiscommando's
Git werkt op basis van commando's die je uitvoert in de terminal. In deze sectie leer je de kern van Git: een repository aanmaken, wijzigingen bijhouden en de geschiedenis bekijken.
Hoe Git werkt: de drie zones
Voordat je met commando's begint, is het belangrijk te begrijpen hoe Git bestanden bijhoudt. Git onderscheidt drie zones:
┌──────────────────┐ git add ┌──────────────────┐ git commit ┌──────────────────┐
│ Working │ ────────► │ Staging Area │ ───────────► │ Repository │
│ Directory │ │ (index) │ │ (.git map) │
└──────────────────┘ └──────────────────┘ └──────────────────┘
Jouw schijf — Klaarstaan voor Opgeslagen
hier werk je de volgende commit geschiedenis
| Zone | Wat staat hier? |
|---|---|
| Working Directory | De bestanden zoals je ze ziet op je schijf. Hier maak je aanpassingen. |
| Staging Area | Bestanden die klaarstaan voor de volgende commit. Jij kiest wat erin gaat. |
| Repository | De opgeslagen geschiedenis van je project (de verborgen .git map). |
De staging area geeft je controle. Stel je hebt 5 bestanden gewijzigd, maar je wilt ze in 2 aparte, logische commits opslaan. Met git add kies je precies welke bestanden in welke commit gaan.
Je eerste repository aanmaken
Maak een nieuwe map aan en initialiseer Git erin:
mkdir mijn-project
cd mijn-project
git init
Git maakt een verborgen .git map aan in je project. Daarin houdt Git alles bij. Verwijder deze map nooit.
Navigeer naar de map van je bestaand project en voer git init uit. Git voegt alleen de .git map toe — je bestanden worden niet gewijzigd.
Status controleren
git status
Dit is het commando dat je het vaakst zult gebruiken. Het geeft je een overzicht van de toestand van je bestanden:
- Untracked — nieuwe bestanden die Git nog niet kent
- Modified — bestanden die gewijzigd zijn maar nog niet in de staging area staan
- Staged — bestanden die klaarstaan voor de volgende commit
Voer git status regelmatig uit. Het is je kompas in Git.
Bestanden toevoegen aan de staging area
git add bestandsnaam.txt # Één specifiek bestand
git add map/ # Alle bestanden in een map
git add . # Alle gewijzigde bestanden in de huidige map
git add .git add . voegt alles toe wat gewijzigd is. Dat klinkt handig, maar zo voeg je ook per ongeluk wachtwoordbestanden of tijdelijke bestanden toe. Gebruik een .gitignore om dit te voorkomen — zie verderop in deze sectie.
Wijzigingen bekijken voor de commit
Wil je precies weten wat er veranderd is voordat je commit?
git diff # Wijzigingen in de working directory (nog niet gestagd)
git diff --staged # Wijzigingen die klaarstaan in de staging area
De output toont verwijderde regels in rood (-) en toegevoegde regels in groen (+).
Een commit maken
Zodra je bestanden in de staging area staan, sla je ze op als een commit:
git commit -m "Short description of what changed"
Elke commit krijgt een unieke ID en wordt opgeslagen in de geschiedenis van je project.
Een goed commit-bericht beschrijft wat je hebt veranderd, niet hoe. Gebruik de tegenwoordige tijd:
- ✅
Add login form - ✅
Fix: resolve error on empty password - ❌
changes - ❌
fix stuff - ❌
aaaaaa
Je toekomstige ik (en je teamleden) zullen je dankbaar zijn.
AI als hulp bij commit-berichten: tools zoals GitHub Copilot of een chatbot kunnen je helpen een goed bericht te formuleren. Beschrijf in gewone taal wat je hebt veranderd en vraag om een bondig commit-bericht. Gebruik dit als vertrekpunt, niet als blinde kopie — jij weet het beste wat de wijziging betekent.
De commit-geschiedenis bekijken
git log # Volledige geschiedenis: auteur, datum, bericht
git log --oneline # Korte weergave: één commit per regel
Voorbeeld van git log --oneline:
a3f2c1e Add contact page
b7d8e9a Fix: navigation menu on mobile
c1a2b3c Initial commit
Elke commit heeft een unieke hash (de letters en cijfers links). Die hash kun je later gebruiken om naar een specifieke versie terug te gaan.
Wijzigingen ongedaan maken
Gestagd bestand terug naar working directory
Heb je een bestand per ongeluk aan de staging area toegevoegd?
git restore --staged bestandsnaam.txt
Je wijzigingen zijn niet verloren — het bestand staat gewoon terug in de working directory.
Wijzigingen in de working directory ongedaan maken
Met onderstaand commando gooi je al je niet-gecommitte wijzigingen in dat bestand weg. Ze zijn definitief verloren.
git restore bestandsnaam.txt
Voer eerst git diff uit om te zien wat je weggooit.
.gitignore: bestanden uitsluiten
Sommige bestanden mogen nooit in je repository terechtkomen:
- Wachtwoorden en API-sleutels (
.env) - Tijdelijke bestanden van je editor (
.DS_Store,Thumbs.db) - Gegenereerde mappen die je eenvoudig opnieuw kunt aanmaken (
node_modules/,dist/)
Maak een bestand genaamd .gitignore aan in je projectmap:
# Commentaar begint met #
# Specifieke bestanden
.env
.DS_Store
Thumbs.db
# Mappen (eindig met /)
node_modules/
dist/
__pycache__/
# Patronen (wildcard *)
*.log
*.tmp
Git negeert nu automatisch alle vermelde bestanden en mappen. Je kunt .gitignore zelf committen, zodat iedereen in het team dezelfde bestanden negeert.
Op gitignore.io vind je kant-en-klare .gitignore templates voor elk projecttype (Node.js, Python, Java, ...). Zoek op je technologie en kopieer het resultaat in je .gitignore bestand.
Overzicht van commando's
| Commando | Wat het doet |
|---|---|
git init | Maakt een nieuwe repository aan |
git status | Toont de toestand van je bestanden |
git add <bestand> | Voegt een bestand toe aan de staging area |
git add . | Voegt alle gewijzigde bestanden toe |
git diff | Toont niet-gestagde wijzigingen |
git diff --staged | Toont gestagde wijzigingen |
git commit -m "..." | Slaat de staging area op als commit |
git log | Toont de volledige commit-geschiedenis |
git log --oneline | Korte weergave van de geschiedenis |
git restore <bestand> | Maakt wijzigingen ongedaan in de working directory |
git restore --staged <bestand> | Haalt een bestand uit de staging area |