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 UjViW6ZdbGNana6SeIAAVunsnJID0mgtabMSZz6qK40n gNACEys=s120 c rp mo br100
Chayenne Van Den Eynden

Heel tevreden van de service , altijd goed in orde

ACg8ocKb5uv xWY9tJqO5axmkEMzzqD4yTEvk0ojpsAlZQYwMm8DOw=s120 c rp mo ba12 br100
wommel94 wommelgem

Kwalitatieve diensten die ons helpen nieuwe klanten te vinden en bestaande klanten te binden. Aangename en efficiënte samenwerking.

ACg8ocJgJ3mpwo etyC v3deu2bL6C5BWVI7NMnQ5Y7eS30G8xqEow=s120 c rp mo br100
P DB

Wat een aangename samenwerking met Wout en zijn team. Funkhaus bouwde 2 prima websites en werkt aan de digitale marketing voor mijn bedrijf. Professioneel, altijd correct, heel deskundig en superviendelijk.

ALV UjWMr41NrBFg9qq a3pWL8oJK0xTATL3FDdZVaGyu91i41OXXPQP=s120 c rp mo br100
Yv. Prive

Altijd een zeer snelle reactie en sterk in communicatie. Wout kan snel schakelen en begrijpt altijd meteen wat ik bedoel. Het eindresultaat is daarom altijd snel uitgevoerd en direct naar tevredenheid. Zeker een aanrader!

ALV UjUpe6vePkIUc4wQqycPY6RpLowEMgG9EEVQsSRpG9EcsMybLWs=s120 c rp mo br100
Expo Z

Altijd bereikbaar, steeds snel en en professioneel geholpen.

Heel tevreden over onze leuke en vlotte samenwerking!

ALV UjVEAc9j2oYAg7Y6TmKTXYUHLvz1E16oNQXRjwK2jWFoaEwE4hI=s120 c rp mo ba12 br100
’t Anderhoes

Zeer goede en betrouwbare firma. Heeft noodzakelijke aanpassingen van websites goed en snel uitgevoerd.

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 UjWVVpVloImATf8dz8KxNk kippRERhVShoYyHs2BkZ4jk4 vU0 0A=s120 c rp mo br100
Christoph Strijbos

Wout en zijn team zijn ongelooflijk professioneel in elke stap van het proces, van brainstorming tot aflevering van de website.

Altijd met respect en duidelijke communicatie.

Ik kan Funkhaus ten zeerste aanraden!

ALV UjX5osQMv4EPlQDMl5rnPnI Ip4bkkWij1EEvuXEV7bKAaHlMhKSnQ=s120 c rp mo br100
Jimmy D.S.

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!

ACg8ocLreNhuQOPHdLtot1u7RRYxFuJxSTOf3xv4UGicrHHu46d0JA=s120 c rp mo br100
Sander van Schoonhoven

Professional company. Contracted for website renewal. Sprint type approach. Are willing to adapt the project execution pace to the customer’s available resources.