Git commands: praktische gids voor developers

Tips 'n tricks over het web, digital trends, en online marketing

Terug naar het overzicht

Git commands, de ruggengraat van moderne softwareontwikkeling

Bij Funkhaus bouwen we dagelijks aan websites, webapps en slimme marketingflows. Daarin vertrouwen we op Git om ons werk veilig vast te leggen, soepel samen te werken en zonder risico terug te keren naar een vorige versie wanneer dat nodig is.

In dit kennisbankartikel nemen we je mee in wat Git precies is, waarvoor je het gebruikt en waarom het zo belangrijk is in onze manier van werken. Daarna delen we een uitgebreide lijst met handige Git commands, inclusief voorbeelden en tips die wij zelf toepassen in onze projecten.

(Lees verder onder de foto.)
Git commands: praktische gids voor developers

Heb je vragen over dit artikel?

Plan een gratis adviesgesprek
Stuur een mailtje 👋

Wat is Git?

Git is een gedistribueerd versiebeheersysteem: elke ontwikkelaar beschikt lokaal over de volledige codegeschiedenis. Dat maakt operaties zoals commits, diff en branchebeheer extreem snel en betrouwbaar. In plaats van één centrale bron bewaar je lokale snapshots (commits) die je later naar een remote zoals GitHub, GitLab of Bitbucket kunt pushen. Voor een volledige referentie kun je terecht bij de officiële documentatie van Git en het gratis boek Pro Git.

Waarom gebruik je Git en waarom is het belangrijk?

Git maakt samenwerken voorspelbaar: meerdere mensen kunnen tegelijk aan features werken in gescheiden branches zonder elkaars werk te overschrijven. Elke commit bevat wie iets heeft veranderd en waarom, wat belangrijk is voor traceerbaarheid en debugging. Git ondersteunt workflows met code reviews, CI/CD-pipelines en rollback-mogelijkheden, zodat fouten snel opgespoord en hersteld worden. Integratie met tools zoals GitHub Actions en GitLab CI helpt om kwaliteit te automatiseren tijdens elke push. Zie bijvoorbeeld de GitHub Actions-documentatie voor voorbeelden van CI-workflows: https://docs.github.com/actions

Kernconcepten in één zin

  • Repository: de projectmap met de .git directory
  • Commit: een snapshot van je code inclusief metadata
  • Branch: een verwijzing naar een reeks commits
  • Remote: een externe repository (bv. origin)
  • Staging area (index): tussenlaag tussen working tree en commit

Handige git-commands en wat ze doen

Onderstaand vind je een uitgewerkte lijst met commands die in de praktijk het meest nuttig zijn. Voor elk command leg ik uit wat het doet, wanneer je het gebruikt en geef ik een voorbeeld.

git init
Initialiseert een nieuwe Git-repository in de huidige map. Gebruik dit als je een project lokaal wilt beginnen met versiebeheer.

Tip: Voeg meteen een .gitignore toe met bestanden die niet onder versiebeheer moeten (build-artifacts, credentials, node_modules).

git clone
Maakt een lokale kopie van een remote repository. Hiermee haal je de volledige geschiedenis binnen.

git clone https://github.com/organisatie/project.git

Tip: Gebruik –depth voor een shallow clone als je alleen de laatste geschiedenis nodig hebt.

git status
Toont welke bestanden gewijzigd zijn, welke staged staan en welke ontracked zijn. Dit is vaak het eerste commando dat je uitvoert.

git add
Plaats wijzigingen in de staging area zodat ze onderdeel worden van de volgende commit. Je kunt individuele bestanden of alles toevoegen.

git add index.html
git add -A # alle wijzigingen

Tip: Gebruik kleine, logische commits door telkens gerelateerde wijzigingen te adden en te committen.

git commit
Maak een snapshot van gestage wijzigingen. Schrijf duidelijke commit messages.

git commit -m “fix: responsive header en accessibility improvements”

Tip: Hanteer conventies zoals Conventional Commits voor consistente messages: https://www.conventionalcommits.org

git log
Toont de commitgeschiedenis. Handige flags: –oneline –graph –decorate –all voor een compacte weergave.

git log –oneline –graph –decorate –all

git diff
Vergelijk wijzigingen tussen working tree, index en commits.

git diff # unstaged changes
git diff –staged # staged changes
git diff HEAD~1..HEAD

Tip: Gebruik dit om te controleren wat je gaat committen.

git show
Toont de inhoud en metadata van een specifieke commit of ref.

git show 7f3a2b1

git branch
Toont of maakt branches. -a laat ook remotes zien.

git branch # lijst lokaal
git branch -a # lijst inclusief remote branches
git branch feature/zoekfunctie

git switch / git checkout
git switch is de modernere manier om tussen branches te wisselen (git checkout kan ook nog).

git switch feature/zoekfunctie
git switch -c feature/nieuw

git merge
Voeg een andere branch samen in je huidige branch. Je kunt een fast-forward of een merge commit krijgen.

git switch main
git merge feature/zoekfunctie

Tip: Controleer altijd na een merge de tests en los conflicten op.

git rebase
Verplaats je commits op een nieuwe basis; dit geeft een lineaire geschiedenis. Gebruik rebase lokaal en vóór je naar remote pusht om historie schoon te houden.

git switch feature/zoekfunctie
git rebase main

Let op: rebase herschrijft geschiedenis — doe dit niet op gedeelde branches zonder overleg.
Lees meer over merge vs rebase: https://www.atlassian.com/git/tutorials/merging-vs-rebasing

git fetch / git pull / git push
fetch haalt refs op zonder te mergen. pull is fetch + merge (of –rebase). push duwt je commits naar remote.

git fetch origin
git pull –rebase origin main
git push origin feature/zoekfunctie

Tip: Gebruik git pull –rebase als je een nette geschiedenis wilt.

git stash
Sla tijdelijke, niet-gecommitte wijzigingen op en maak je working tree schoon. Handig als je snel van context moet wisselen.

git stash
git stash list
git stash pop

git restore
Herstel bestanden uit commit of verwijder ze uit de staging area. Dit is de modernere vervanger voor bepaalde checkout-operaties.

git restore README.md # herstelt working tree
git restore –staged README.md # verwijdert uit staging

git reset
Verplaats HEAD en eventueel index/working tree. –soft, –mixed, –hard hebben verschillende impact. Gebruik met voorzichtigheid.

git reset –soft HEAD~1
git reset –hard HEAD~1 # destructief

git cherry-pick
Breng een specifieke commit over naar je huidige branch. Handig voor hotfixes.

git cherry-pick 3a4b5c6

git clean
Verwijder ongeversioneerde bestanden. Let op: irreversibel zonder back-up.

git clean -fd

git mv / git rm
Verplaats of verwijder bestanden met behoud van geschiedenis.

git mv oudeNaam.php nieuweNaam.php
git rm ongewenst.txt

Best practices en workflows

  • Maak kleine, logische commits met duidelijke messages. Beschrijf het waarom, niet alleen het wat.
  • Bewaar gevoelige gegevens nooit in de repo; gebruik environment variabelen en secrets in je CI-platform.
  • Kies een branching-strategie die bij je team past: GitHub Flow is simpel voor continue deploys; GitLab Flow helpt met meerdere omgevingen. Zie workflows: https://www.atlassian.com/git/tutorials/comparing-workflows
  • Gebruik git rebase lokaal om je featurebranch up-to-date te houden, maar gebruik git revert op gedeelde branches om veilig wijzigingen terug te draaien.

Slotwoorden en bronnen

Met deze commands en uitleg heb je een solide basis om efficiënt met Git te werken. Git biedt veel diepgang – van eenvoudige commits tot geavanceerde rebase- en bisect-workflows – maar door de kernconcepten te begrijpen en bovenstaande commands te oefenen raak je snel productiever.

Aanbevolen leestips en referenties:

👉 Heb je een leuk software idee?

Blijf er niet mee rondlopen! Vertel ons wat je zoekt.

Wij vertellen je direct wat het kost, hoe lang het duurt en hoe we het aanpakken. Duidelijk en zonder kleine lettertjes.

👋 Vrijblijvende even kennismaken?

Stuur een mailtje, of plan meteen een afspraak!

Wat is jouw uitdaging vandaag?

This field is for validation purposes and should be left unchanged.

Onze partners aan het woord

ALV UjW71RH7MhFvDHWZFGBeY1vxsTZ aZ3O64YR6sLLolsTnEbEEmtDMw=s120 c rp mo ba12 br100
Nick Van der Hallen

Fantastisch en eerlijk bedrijf met een zéér flexibele en snelle klantenservice. Funkhaus bracht onze nieuwe website naar the next level, met nog tal van mogelijkheden om later verder uit te bouwen. Superfijn om mee samen te werken en een échte aanrader!

ACg8ocL1s i3 3KxViPTnVPQpC7wxkbNosNZKrkWaxrqs5rv63E6A=s120 c rp mo ba12 br100
Johnny Spies

Een conflict in de woocommerce shop van onze vereniging zorgde ervoor dat er geen betalingen werden verwerkt. Wout van Funkhaus heeft met ons meegekeken en wist het probleem te achterhalen.

Goede partij die snel en professioneel werkt en erg goed contact houd!

ALV UjX5osQMv4EPlQDMl5rnPnI Ip4bkkWij1EEvuXEV7bKAaHlMhKSnQ=s120 c rp mo br100
Kine De Staerke

Zeer aangename, professionele samenwerking met Wout en Marnix van Funkhaus. De onepager die ze voor me hebben ontwikkeld is een meerwaarde t.o.v. mijn oude website. Ik kan hun zeker aanraden!

ACg8ocIhbwp3HTQFLIjRiHtr8UiG3X8bRDzNxioOdrMeGHQefJdGrQ=s120 c rp mo br100
Yassine Vansant

Wout en collega’s hebben me geholpen bij het bouwen en professionaliseren van onze website. Enkele online contacten waar hij concreet vroeg naar feedback en wat net voor mij als klant belangrijk was zorgde ervoor dat mijn website een mooie upgrade kreeg!

Bedankt Wout en team Funkhaus!

ACg8ocJdUD3KlBekLh0h0KtNWgHzJuPY2UTKo5W6PGCnuZM65rEZQw=s120 c rp mo br100
Daisy Lens

Wout en zijn team leveren fantastisch werk af en zijn steeds behulpzaam. Ook wanneer er eens iets fout loopt, zijn ze super snel om alles op te lossen. Heel fijn om met hen samen te werken. Highly recommend!

ALV UjUskrhxd7xVTVk5iKy9l91FewV5aJStFBLFc8Js2SS1Z63U39U=s120 c rp mo ba12 br100
Tibor R. B. Bassez

Wij zijn al jaren tevreden klant van Wout en zijn team. Naast de wekelijkse actualisatie van onze website, houdt hij ook de vinger aan de pols voor de laatste ontwikkelingen in ICT-land.

ALV UjViW6ZdbGNana6SeIAAVunsnJID0mgtabMSZz6qK40n gNACEys=s120 c rp mo br100
Chayenne Van Den Eynden

Heel tevreden van de service , altijd goed in orde

ACg8ocIPfu4sgS8RJCTs Y8mh4U90oHeMXppg9WCzvUeywNxDPFoeQ=s120 c rp mo br100
Kris Vantilt

Altijd goede service en snel geholpen

ALV UjXko LsuO22hMYs BtEITY60bh G49M4A2w4RR7hfKhyZj01Ws4=s120 c rp mo br100
Pauline Michgelsen

Funkhaus heeft onze website fantastisch aangepast, en met engelengeduld alle wijzigingen doorgevoerd. Echt een heel prettige samenwerking, kan het iedereen aanraden!

ACg8ocKMXZqMuA8jcMF2SIGPnHLCNfhAed6pF0EHNhZzkSBL9FTFZg=s120 c rp mo br100
Yasmine D’hanis

Bedankt Funkhaus voor de heldere blik op mijn website (www.minro-legal.be) ! Dank zij jullie duidelijke en concrete tips heb ik de website al een pak gebruiksvriendelijker kunnen maken. Ook heb ik dankzij jullie fouten kunnen wegwerken die tot nu toe onopgemerkt bleven.

Dankjewel! Zeker een aanrader!