Ga naar hoofdinhoud

Top 20 Git-commando’s met voorbeelden: een praktische gids

Deze gids behandelt de belangrijkste Git-commando’s met voorbeelden om je efficiënter te laten werken!
Bijgewerkt 16 apr 2026  · 15 min lezen

Git is een onmisbare tool voor iedereen die met code werkt, of je nu softwareontwikkelaar, data scientist, data engineer of machine-learningspecialist bent. Het stelt teams in staat om tegelijk aan hetzelfde project te werken en biedt een duidelijk overzicht van codewijzigingen, waardoor het bijhouden en beheren van updates eenvoudig wordt.

In dit artikel neem ik je mee langs de meest gebruikte Git-commando’s, hun syntax en hoe je ze toepast in je dagelijkse werk!

Basis Git-commando’s

De basisstappen van werken met Git zijn: een repository aanmaken, een bestaande kopiëren en de code bewerken. In deze sectie bespreken we deze fundamentele git-functies in detail, samen met de syntax om ze uit te voeren. 

Git installeren? Volg deze gids om Git te installeren op je systeem.

git init

Het commando git init maakt een nieuwe Git-repository aan of initialiseerd een bestaande opnieuw.  

Wanneer je dit commando uitvoert, wordt je huidige map een Git-repository, zodat je wijzigingen kunt bijhouden. Er wordt een verborgen map .git toegevoegd, waarin Git alle metadata, versies en logs van het project opslaat.

git clone

Om een Git-repository van de ene locatie naar de andere te kopiëren, gebruiken we het commando git clone. Het kopieert doorgaans een bestaande repository, inclusief logs en versies, van externe servers zoals GitHub of GitLab naar je lokale machine. 

Stap 1: Ga naar de GitHub-repository die je wilt clonen en klik op “Code”.

git clone command

git clone-commando

Stap 2: Kopieer de URL zoals in de afbeelding getoond. 

git clone basic command

basiscommando git clone

Stap 3: Ga naar de map waarin je deze repository lokaal wilt clonen en voer het volgende commando uit: 

git clone <copied_URL>

git status

Het commando git status laat details zien over: 

  • gewijzigde bestanden (bestanden die zijn aangepast maar niet gestaged).
  • ongetrackte bestanden (bestanden die Git niet volgt).
  • gestagede bestanden (bestanden die zijn gestaged en klaar zijn om te committen). 

De syntax:

git status 

 Git status command

Git status-commando

git add

Het commando git add voegt je wijzigingen toe aan de staging area. Je vertelt Git daarmee dat deze wijzigingen moeten worden bijgewerkt zodra je het commit-commando uitvoert.

  • git add . : zet de wijzigingen in alle bestanden klaar.
  • git add <file_name>: voegt alleen de wijzigingen in een specifiek bestand toe aan de staging area.

git commit

Een git commit-commando slaat de wijzigingen die je hebt gemaakt (of gestaged) op in de lokale repository. Telkens wanneer je git commit uitvoert, maakt Git een snapshot van je repository op dat moment. Zo kun je altijd teruggaan naar een eerdere commit wanneer dat nodig is.

De syntax:

git commit -m "commit_message"

Het commitbericht is een korte beschrijving van de wijzigingen in een commit.

Werken met externe repositories

GitHub host diverse applicaties op zijn externe servers, zodat ontwikkelaars ze kunnen bijhouden en beheren. In deze sectie bekijken we hoe je die externe repositories ophaalt, overdraagt en ermee interacteert met Git-commando’s. 

Wil je leren hoe GitHub werkt? Begin met een introductie tot GitHub-concepten om repositories, pull requests en samenwerkingsbest practices te begrijpen.

git remote add

Het commando git remote add legt een verbinding tussen je lokale Git-repository en de externe Git-repository, zodat je wijzigingen ertussen kunt pushen en pullen:

git remote add <repo_name> <remote_url>
  • <repo_name>: een bijnaam voor de externe repository (“origin” is standaard).
  • <remote_url>: de URL van de externe repository.

git push

Het commando git push synchroniseert je externe repository met de lokale repository. Zodra je dit commando uitvoert, weerspiegelt de externe repository alle wijzigingen die je lokaal hebt gecommit.

git push <remote> <branch>
  • <remote>: alias van de externe repository (“origin” is standaard).
  • <brach>: naam van de branch die je wilt pushen.

Er zijn enkele varianten van git push, bijvoorbeeld:

git push ---all origin

Bovenstaand commando pusht al je lokale branches naar de externe repository.

git push --force origin main

Bovenstaand commando overschrijft de main-branch op de externe repository met je lokale main-branch. Wees voorzichtig met het gebruik hiervan, want de externe main-branch kan al zijn historie verliezen. 

git pull

Het commando git pull haalt de wijzigingen op uit de externe repository en merge’t ze met die in de lokale repository. 

Het commando git pull combineert twee commando’s: git fetch en git merge

Eerst haalt git fetch alle wijzigingen op uit de externe repository, waaronder nieuwe commits, tags en branches. Daarna voert git merge uit, waarmee die wijzigingen in de huidige lokale branch worden geïntegreerd. 

De syntax:

git pull origin feature-branch

Bovenstaand commando haalt data op van de feature_branch op de externe repository en commit die naar je huidige lokale branch. 

git fetch

Het commando git fetch laat je wijzigingen in de externe repository beoordelen voordat je ze in je lokale repository merge’t. Het downloadt de wijzigingen en werkt ze bij in remote-trackingbranches. Voor wie dit niet kent: remote-trackingbranches zijn kopieën van branches in de externe repository. 

Bijvoorbeeld, het volgende commando downloadt de wijzigingen in de externe repository en werkt ze bij in remote-trackingbranches onder origin:

git fetch origin

Branching en mergen in Git

Met Git-branching kunnen ontwikkelaars onafhankelijk werken aan nieuwe features of bugfixes zonder de hoofdrepository te beïnvloeden. Zodra de wijzigingen klaar zijn, integreert mergen ze in de primaire codebase. Laten we de belangrijkste commando’s in dit proces verkennen.

git branch

Het commando git branch toont, maakt of verwijdert branches. Een branch is een andere versie van je repository. 

Als je een nieuwe feature voor je applicatie ontwikkelt, kun je een nieuwe branch aanmaken en daarop werken.Je kunt deze nieuwe branch mergen met de main-branch zodra de wijzigingen klaar en getest zijn. Zo kun je onafhankelijk aan nieuwe features werken zonder direct aan de hoofdversie te zitten. 

  • git branch: toont de lijst met alle branches in de repository.
  • git branch <branch_name>: maakt een nieuwe branch met de naam “branch_name”.
  • git branch -d <branch_name>: verwijdert de branch met de naam “branch_name”.

git checkout

Het git checkout-commando kan twee dingen: schakelen tussen branches of bestanden herstellen naar een vorige staat. 

  • Tussen branches wisselen: Vóór git 2.23 werd git checkout branch_name gebruikt om van je huidige branch naar een andere te wisselen. Het was niet alleen voor wisselen: je kon ook een nieuwe branch maken en er meteen naartoe schakelen.

Het volgende commando maakt een nieuwe branch “feature_branch” en schakelt erheen:

git checkout -b feature_branch

In de nieuwste versie van Git is git checkout voor het herstellen van bestanden vervangen door git switch

  • Bestanden herstellen: Je kunt de wijzigingen in een bestand weggooien en het herstellen naar de vorige versie met het volgende commando.
git checkout -- <file-name>

Je kunt dit ook doen met een bestand uit een andere branch als volgt:

git checkout <branch-name> -- <file-name>

git merge

Als je in een nieuwe branch werk hebt gedaan, kun je die met git merge in de main-branch mergen om de wijzigingen door te voeren. Git voert mergen op twee manieren uit:

  • Fast-forward merge: Stel, je maakte een nieuwe branch “feature_x” vanuit main en werkte daarop. Als main geen updates heeft gehad sinds je “feature_x” maakte, dan commit Git niet de “feature_x”-wijzigingen naar main, maar schuift het de verwijzing van main door naar de laatste versie van “feature_x”. Er wordt dan geen nieuwe merge-commit aangemaakt. 
  • Three-way merge: Als zowel “feature_x” als main aanpassingen hebben, combineert Git de wijzigingen en maakt het een nieuwe merge-commit op main. 

Bijvoorbeeld: 

      C---D---F (feature-branch)
     /
A---B---E---G (main)

Bij commit B wordt de feature-branch C gemaakt. De main-branch krijgt extra commits, E en G, ook nadat de feature-branch is aangemaakt. Daarom wordt de feature in main gemerged en ontstaat er een nieuwe merge-commit M als volgt:

      C---D---F (feature-branch)
     /         \         
A---B---E---G---M (main)

git rebase

git rebase is een andere manier om wijzigingen tussen branches te integreren, maar werkt anders dan git merge. Merge behoudt de volledige historie van zowel main als de feature-branch. Rebase daarentegen herschrijft de commitgeschiedenis om die lineair en overzichtelijk te maken.

Bovendien vereist mergen een extra merge-commit, terwijl rebase geen nieuwe commits aanmaakt. Git rebase voert twee stappen uit: 

  1. Schakel over naar een feature-branch 
  2. Rebase naar main.

Bijvoorbeeld:

      C---D---F (feature-branch)
     /
A---B---E---G (main)
  • Stap 1: voer git checkout feature_branch uit.
  • Stap 2: Voer git rebase main uit: de volledige feature-branch wordt op main gezet door de commits C, D, F opnieuw toe te passen als C’, D’ en F’ boven op de laatste commit G van de main-branch. Dit creëert een lineaire commitgeschiedenis als volgt:
A---B---E---G---C'---D'---F' (main)

Omdat merge- en rebase-bewerkingen vaak worden verward, volgt hier een samenvatting van de verschillen:

Merge 

Rebase

Behoudt de volledige commitgeschiedenis van beide branches.

Herschrijft de commitgeschiedenis om die lineair te maken.

Er wordt een extra merge-commit aangemaakt.

Er worden geen extra commits aangemaakt.

De branch-structuur is zichtbaar in de historie.

Maakt de commitgeschiedenis rechtlijnig.

Gebruik dit om de commitgeschiedenis van elke branch te behouden, inclusief een tijdlijn van wanneer ze zijn gemerged.

Gebruik dit wanneer je een duidelijke, makkelijk te begrijpen commitgeschiedenis nodig hebt. 

Meer leren over werken met externe branches? Leer hoe je externe branches uitcheckt en volgt met git checkout in deze stapsgewijze tutorial.

Git-historie en wijzigingen ongedaan maken

Git biedt verschillende commando’s om de historie te bekijken en wijzigingen ongedaan te maken in verschillende ontwikkelstadia. Relevante commando’s worden hier besproken. 

git log

Het commando git log toont de volledige commitgeschiedenis van je huidige branch. Het bevat vier kernvelden: commit, auteur, datum en commitbericht. 

git commit history

git commitgeschiedenis

  • Commit: een unieke ID.
  • Auteur: naam en e-mailadres van de persoon.
  • Datum: het tijdstip waarop de wijziging is gecommit.
  • Commitbericht: beschrijving van de commit. 

git diff

Het commando git diff toont de verschillen tussen verschillende toestanden van je repository—of je nu je huidige map vergelijkt met de staging area, de staging area met de laatste commit, of zelfs twee bestanden of branches, afhankelijk van wat je opgeeft.

  • git diff - toont het verschil tussen je huidige werkmap en de staging area. 
  • git diff -- cached: toont de verschillen tussen de staging area en de laatste commit.
  • git diff commit1 commit2 - het verschil tussen commit 1 en commit 2.
  • git diff branch1..branch2 - vergelijkt de verschillen tussen branch 1 en branch 2.

git reset

Het commando git reset laat je wijzigingen ongedaan maken door de huidige HEAD terug te zetten naar een specifieke eerdere staat. Om de HEAD naar een vorige commit te verplaatsen, heb je drie varianten: “soft”, “mixed” en “hard” om met het reset-commando te gebruiken. 

  • Soft: gaat terug naar een eerdere commit maar houdt de huidige wijzigingen gestaged, zodat je ze later opnieuw kunt committen. 

git reset --soft HEAD~1

  • Mixed: gaat terug naar een eerdere commit en verwijdert de wijzigingen van de huidige commit uit de staging area. Die wijzigingen blijven echter wel in je werkmap staan.

git reset --mixed HEAD~1

  • Hard: wijst naar een eerdere commit en verwijdert de updates van de huidige commit uit zowel de werkmap als de staging area. 

git reset --hard HEAD~1

Wil je wijzigingen in Git ongedaan maken? Verken de verschillen tussen git reset en git revert in deze gedetailleerde gids.

Git stashing en opruimen

Tijdens het werken met Git wil je soms wijzigingen tijdelijk opzijzetten zonder ze te committen, of overbodige bestanden opruimen die je repository vervuilen. Dan komen Git-stash- en opruimcommando’s van pas.

git stash

Stel dat je naar een vorige staat wilt terugkeren, maar je huidige voortgang niet wilt committen; dan kun je git stash gebruiken. Dit slaat je niet-gecommitete wijzigingen tijdelijk op en zet je werkmap terug naar de laatst gecommitete staat. 

git stash pop

Als je eerder wijzigingen hebt gestasht en die weer in je werkmap wilt opnemen, gebruik je het commando git stash pop. Dit past de laatst gestashte wijzigingen toe op de huidige map en verwijdert ze uit de stashlijst. 

git clean

Het commando git clean verwijdert ongetrackte bestanden uit de Git-repository. Gebruik het commando git clean -n om te bekijken wat er verwijderd zal worden voordat je daadwerkelijk opruimt!

Je Git-historie opschonen? Leer hoe je meerdere commits samenvoegt tot één met deze Git squash-tutorial.

Git-configuratie en gebruikersinstellingen

Git laat je gebruikersinstellingen op verschillende niveaus configureren. Laten we die hier bekijken.

git config

Met het commando git config kun je Git-instellingen naar wens aanpassen. Je kunt instellingen configureren op drie niveaus: lokaal, systeem en globaal. 

  • Systeemniveau: Dit is het breedste configuratieniveau met root-toegang.
  • Globaal niveau: configuraties op dit niveau gelden voor alle repositories voor de huidige gebruiker. 
  • Lokaal niveau: instellingen die relevant zijn voor de huidige Git-repository kunnen op dit niveau worden aangepast. 

Dit zijn enkele veelgebruikte git config-commando’s:

  • git config -list: toont Git-instellingen van alle niveaus.
  • git config --global user.name "Your_name": stelt de Git-gebruikersnaam voor alle repositories op je systeem in op “Your_name”.
  • git config --global user.email "your.email@example.com": stelt het e-mailadres in voor alle repositories op je systeem.

We weten dat master de standaard main-branch is bij het initialiseren van een Git-repository. Maar je kunt die hernoemen naar wat je wilt met het volgende commando:

git config --global init.defaultBranch "srujana_master"

In het bovenstaande commando hebben we de standaard master-branch op globaal niveau (voor alle repositories op het systeem) vervangen door "srujana_master".

Je kunt ook andere globale instellingen toepassen. Bijvoorbeeld, om je standaard teksteditor te wijzigen naar VS Code, voer je het volgende commando uit:

git config -global core.editor "code-w"

Je kunt ook je eigen Git-commando’s maken. Bijvoorbeeld:

git config --global alias.slice branch

Bovenstaand commando maakt een nieuw alias slice voor branch. Dus als je een nieuwe branch wilt maken, kun je git slice branch_name uitvoeren in plaats van git branch branch_name.

Samenvatting van Git-commando’s

Hier is een samenvatting van de Git-commando’s die we hebben behandeld, handig om bij de hand te houden:

Commando

Beschrijving

Voorbeeldgebruik

git init

Een nieuwe Git-repository initialiseren.

git init

git clone

Een bestaande Git-repository klonen.

git clone <repository_url>

git status

De status van bestanden in de werkmap controleren.

git status

git add

Bestanden toevoegen aan de staging area.

git add <file_name>

git commit

Gestagede wijzigingen committen naar de lokale repository.

git commit -m 'Commit message'

git remote add

Een verbinding met een externe repository toevoegen.

git remote add origin <remote_url>

git push

Gecommitte wijzigingen pushen naar een externe repository.

git push origin <branch_name>

git pull

Wijzigingen ophalen en mergen vanuit een externe repository.

git pull origin <branch_name>

git fetch

Wijzigingen ophalen uit een externe repository zonder te mergen.

git fetch origin

git branch

Branches tonen, aanmaken of verwijderen.

git branch <branch_name>

git checkout

Wisselen tussen branches of bestanden herstellen (oudere methode).

git checkout <branch_name>

git switch

Wisselen tussen branches (voorkeur in nieuwere versies).

git switch <branch_name>

git merge

Wijzigingen van de ene branch in een andere mergen.

git merge <branch_name>

git rebase

Commits van de ene branch opnieuw toepassen op een andere voor een schonere historie.

git rebase <branch_name>

git log

Commitgeschiedenis bekijken.

git log

git diff

Verschillen tonen tussen verschillende toestanden van de repository.

git diff

git reset

Wijzigingen ongedaan maken door HEAD terug te zetten naar een vorige staat.

git reset --soft HEAD~1

git stash

Niet-gecommitete wijzigingen tijdelijk opslaan en de werkmap resetten.

git stash

git stash pop

De laatst gestashte wijzigingen toepassen op de werkmap.

git stash pop

git clean

Ongetrackte bestanden uit de repository verwijderen.

git clean -n

git config

Git-instellingen configureren op systeem-, globaal of lokaal niveau.

git config --global user.name 'Your Name'

Best practices voor het gebruik van Git

Git effectief gebruiken gaat verder dan alleen wijzigingen bijhouden—het draait om een schone, gestructureerde en collaboratieve workflow. Door best practices te volgen, blijft je repository georganiseerd, is je commitgeschiedenis betekenisvol en verloopt je ontwikkelproces soepel.

Hier zijn een paar goede gewoontes om aan te leren wanneer je met Git werkt:

  • Vaak committen: Een van de hoofddoelen van versiebeheer zoals Git is om wijzigingen in de tijd effectief bij te houden. Als je elke wijziging apart commit in plaats van veel wijzigingen tegelijk, is het later eenvoudiger te begrijpen wat er per commit is aangepast. 
  • Commit met duidelijke berichten: Koppel elke commit aan een duidelijke boodschap die beschrijft waar die commit over gaat. De volgende keer dat je commits bekijkt, is het veel eenvoudiger te zien welke wijzigingen elke commit heeft aangebracht. 
  • Gebruik branches: Maak voor elke nieuwe feature of bugfix een branch, werk daarop en merge die. Dit is de beste manier om nieuw ontwikkelwerk te scheiden van het hoofdproject. 
  • Gebruik .gitignore: Een .gitignore-bestand bevat projectbestanden en -mappen die je niet hoeft te tracken. Dit zijn meestal automatisch gegenereerde bestanden, build-artifacts, log-, tijdelijke en platformspecifieke bestanden. Ze negeren voorkomt onnodige logs en versiehistorie, en houdt je geschiedenis schoon.

Conclusie

Git is een krachtige tool voor het bijhouden van wijzigingen, samenwerken met anderen en het onderhouden van een goed gestructureerde ontwikkelworkflow. In dit artikel heb ik essentiële Git-commando’s en best practices behandeld om je te helpen je projecten effectiever te beheren.

Er valt natuurlijk altijd meer te leren! Ben je net begonnen, bekijk dan Introduction to Git om een stevige basis op te bouwen. Wil je je vaardigheden verder aanscherpen, dan gaat Intermediate Git dieper in op geavanceerde workflows en technieken.

Snel een Git-naslag nodig voor toekomstige projecten? Houd essentiële commando’s bij de hand met deze Git-cheat sheet!

FAQs

Wat is het verschil tussen git pull en git fetch?

git pull haalt wijzigingen op uit een externe repository en merge’t ze in je lokale branch, terwijl git fetch alleen de updates downloadt, zodat je ze kunt beoordelen vóór het mergen.

Hoe hernoem ik een Git-branch?

Om de huidige branch te hernoemen:

git branch -m new-branch-name

Als je een andere branch hernoemt:

git branch -m old-branch-name new-branch-name

Hoe verwijder ik een branch in Git?

Een lokale branch verwijderen:

git branch -d branch-name

Een externe branch verwijderen:

git push origin --delete branch-name

Wat is het verschil tussen git merge en git rebase?

git merge combineert wijzigingen van verschillende branches en behoudt de historie, terwijl git rebase de commitgeschiedenis herschrijft om een schonere, lineaire reeks te maken.

Kan ik een git-commit ongedaan maken?

Ja! Om de laatste commit ongedaan te maken maar de wijzigingen in de staging area te houden:

git reset --soft HEAD~1

Om de laatste commit ongedaan te maken en de wijzigingen uit de staging te verwijderen:

git reset --mixed HEAD~1

Om wijzigingen volledig te verwerpen:

git reset --hard HEAD~1

Hoe controleer ik op welke branch ik me momenteel bevind?

Voer uit:

git branch --show-current

Of simpelweg:

git status

Hoe maak ik wijzigingen in één bestand ongedaan?

Niet-gestagede wijzigingen in één bestand verwerpen:

git checkout -- filename

Een bestand terugzetten naar de laatst gecommitete staat:

git restore filename

Hoe toon ik alle externe branches in een Git-repository?

Gebruik:

git branch -r

Hoe forceer ik een push van een branch in Git?

Wees voorzichtig met geforceerd pushen, omdat dit externe wijzigingen overschrijft:

git push --force origin branch-name

Hoe zie ik een grafische historie van mijn Git-commits?

Wil je een grafiekachtige weergave van je commitgeschiedenis:

git log --oneline --graph --all --decorate

Srujana Maddula's photo
Author
Srujana Maddula
LinkedIn

Srujana is een freelance techschrijver met een vierjarige opleiding in Computer Science. Schrijven over uiteenlopende onderwerpen, waaronder data science, cloud computing, development, programmeren, security en veel meer, gaat haar vanzelf af. Ze houdt van klassieke literatuur en het ontdekken van nieuwe bestemmingen.

Onderwerpen

Leer meer over Git met deze cursussen!

Leerpad

GitHub-basisprincipes

10 Hr
Bereid je voor op de GitHub Foundations-certificering door de basis van Git en GitHub te leren: versiebeheer, samenwerken en vertakken.
Bekijk detailsRight Arrow
Begin met de cursus
Meer zienRight Arrow
Gerelateerd

blog

AI vanaf nul leren in 2026: een complete gids van de experts

Ontdek alles wat je moet weten om in 2026 AI te leren, van tips om te beginnen tot handige resources en inzichten van industrie-experts.
Adel Nehme's photo

Adel Nehme

15 min

Meer zienMeer zien