Git commands: praktische gids voor developers
Tips en trucs over het web, digitale trends en online marketing
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.
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:
- Officiële Git-documentatie: https://git-scm.com/docs
- Pro Git (gratis online boek): https://git-scm.com/book/en/v2
- Merging vs rebase (Atlassian): https://www.atlassian.com/git/tutorials/merging-vs-rebasing
- GitHub Actions (CI/CD): https://docs.github.com/actions
- GitLab CI/CD: https://docs.gitlab.com/ee/ci/
👉 Funkhaus gaat voor jou de extra mile
Wij zijn de alles-in-een partner die je volledig ontzorgt: van creatieve webdesigns tot technische optimalisaties en strategische content. Jij focust op je business, wij zorgen voor de rest.
Stuur een mailtje, of plan meteen een afspraak!
Krijg gratis en vrijblijvend persoonlijk advies
👋 Hey, wij staan voor je klaar!
Onze partners aan het woord
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!
wommel94 wommelgem
Kwalitatieve diensten die ons helpen nieuwe klanten te vinden en bestaande klanten te binden. Aangename en efficiënte samenwerking.
Niels Geenen
Deze mannen verdienen zeker 5 sterren! goede aanpak, goede communicatie en mooi ontwerp.
Zeker een aanrader!
willy beuls
alles wordt tot in de puntjes afgewerkt
Saar
Het hele Eurowaste team wil jullie team bij Funkhaus bedanken voor de vlotte en professionele samenwerking. We hebben op dit moment een nieuwe frisse website die goed werkt. Ook bedankt om onze ‘socials’ zoals LinkedIn in orde te brengen.
David Demuynck
De samenwerking met Funkhaus verliep perfect. Ze zijn erin geslaagd om een mooie website te bouwen die volledig aansluit bij onze doelstellingen. We raden de services van Funkhaus ten zeerste aan!
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!
Geert Berden
Als je sterk potentieel uit de zorgsector samenbrengt met de bijzondere expertise van Funkhaus uit de ICT -sector is het resultaat meer dan de moeite… 👊
Yves Van Pelt
Onze website werd gemaakt door Funkhaus. Prachtig resultaat en in de gehele lijn meer dan tevreden over de aanpak, luisterend oor naar onze wensen, fris geheel en vooral een goed werkend product. Bedankt voor alles Wout. We kunnen je enkel maar aanbevelen.
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!