Ga naar hoofdinhoud

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
ZoneWat staat hier?
Working DirectoryDe bestanden zoals je ze ziet op je schijf. Hier maak je aanpassingen.
Staging AreaBestanden die klaarstaan voor de volgende commit. Jij kiest wat erin gaat.
RepositoryDe opgeslagen geschiedenis van je project (de verborgen .git map).
Waarom een staging area?

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.

Bestaand project?

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
Let op met 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.

Schrijf goede commit-berichten

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

Let op: onomkeerbaar

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.

.gitignore templates

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

CommandoWat het doet
git initMaakt een nieuwe repository aan
git statusToont de toestand van je bestanden
git add <bestand>Voegt een bestand toe aan de staging area
git add .Voegt alle gewijzigde bestanden toe
git diffToont niet-gestagde wijzigingen
git diff --stagedToont gestagde wijzigingen
git commit -m "..."Slaat de staging area op als commit
git logToont de volledige commit-geschiedenis
git log --onelineKorte 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