Deze site is nog in voorbereiding. Bestellingen worden nog niet verwerkt en er wordt niets in rekening gebracht.
← Terug naar overzicht
Module 1 · Waarom versiebeheer?

Waarom 'def-def2-echt-final' misgaat

🕑 5 min lezen
Doel van deze les: Je herkent de problemen die versiebeheer oplost aan je eigen manier van werken.

Bijna iedereen die iets maakt op een computer heeft ooit een map gehad die er ongeveer zo uitzag: 'offerte.docx', 'offerte-nieuw.docx', 'offerte-def.docx', 'offerte-def2.docx', 'offerte-def2-echt-final.docx'. Bij een website of een script gaat het precies zo: 'index.html', 'index-oud.html', 'index-nieuw-def.html' — of je kopieert de hele map en houdt 'project', 'project-kopie' en 'project-werkt-wel' naast elkaar.

Dat is geen slordigheid. Het is een gezond instinct: je wilt kunnen terugvallen op iets wat het deed. Alleen is de manier waarop je dat doet onbetrouwbaar. Na een week weet je niet meer wat het verschil is tussen def en def2, waarom je die kopie ook alweer maakte, en welke van de vijf de versie is die je aan de klant hebt gestuurd.

Drie problemen die je waarschijnlijk herkent

Het eerste is de angst om iets te veranderen. Zodra iets werkt, durf je er niet meer aan. Je wilt een idee uitproberen, maar de kans dat je het kapotmaakt weegt zwaarder — dus laat je het. Je project staat stil omdat je geen weg terug hebt.

Het tweede is dat je niet meer weet wat je veranderd hebt. Iets werkte gisteren en vandaag niet meer. Ergens tussen die twee momenten zit één wijziging die het brak, maar welke? Zonder geschiedenis kun je alleen gokken en overal tegelijk zoeken.

Het derde speelt zodra er iemand bijkomt: twee mensen werken in hetzelfde bestand. Jullie mailen versies heen en weer, iemand werkt per ongeluk verder in de oude, en het werk van een halve dag is weg. Bij samenwerken worden losse kopieën gegarandeerd een probleem.

Wat versiebeheer daar tegenover zet

Versiebeheer betekent dat je niet losse kopieën van je project bewaart, maar de geschiedenis ervan. Je legt op momenten die jij kiest vast: 'zo ziet het er nu uit'. Zo'n vastgelegd moment heet een commit, en je geeft er zelf een korte beschrijving bij.

Vanaf dat moment heb je een tijdlijn. Je kunt zien wat er tussen twee momenten veranderd is, tot op de regel nauwkeurig. Je kunt terug naar hoe het gisteren was. Je kunt iets uitproberen op een zijspoor en dat weggooien als het niets wordt, zonder dat je hoofdversie er iets van merkt. En je kunt met anderen aan hetzelfde project werken zonder elkaars werk te overschrijven.

Het gereedschap dat dit doet heet Git. Het is gratis, het draait op je eigen computer, en het is wat vrijwel elk softwarebedrijf ter wereld gebruikt. Je hoeft er geen programmeur voor te zijn: in deze cursus leer je de handvol commando's die je in de praktijk echt gebruikt.

Terminal
git log --oneline

3f9a1c2 Prijzen bijgewerkt voor 2026
8b2e7d4 Contactformulier verstuurt nu echt e-mail
a1c5f90 Eerste versie van de website

Hierboven zie je waar je aan het eind van module 2 zelf naar kijkt: de geschiedenis van een project. Elke regel is één vastgelegd moment, met een korte code en jouw eigen beschrijving erbij. Je hoeft dit nog niet te kunnen — merk alleen op wat het je geeft. In plaats van vijf mappen met raadselachtige namen heb je één project met een leesbaar verhaal erachter.

Onthoud: Versiebeheer vervangt losse kopieën door één project met een geschiedenis. Je legt zelf momenten vast (commits) met een beschrijving, en kunt daarna zien wat er veranderde, terug naar hoe het was, en veilig dingen uitproberen.
Doe het zelf
  1. Zoek op je computer een map met meerdere versies van hetzelfde ding (documenten, een website, een project). Bijna iedereen heeft er een.
  2. Kun je van elke versie nog zeggen wat het verschil is met de vorige, en waarom je hem maakte? Schrijf op waar je het antwoord schuldig moet blijven.
  3. Kies nu één project waarmee je deze cursus gaat doen. Iets echts, niet te groot, en met tekstbestanden erin: een website, een script, een map met notities in .md of .txt. Werk je vooral in Word of PDF? Kies dan voor deze cursus iets anders — hieronder lees je waarom.
  4. Maak van dat project één back-upkopie op een veilige plek. Vanaf les 1.3 gaan we erin werken, en het is prettig om te weten dat er niets kán misgaan.
Vastgelopen?
  • Ik werk niet met code, is dit dan wel iets voor mij? Ja, de manier van werken is precies dezelfde. Let alleen op wát je als cursusproject kiest. Git bewaart elk bestand, maar vergelijken kan hij alleen bij tekst: code, HTML, .md, .txt, configuratie. Een Word- of PDF-bestand is vanbinnen een ingepakt bestand; Git bewaart het netjes, maar op de vraag 'wat is er veranderd?' zegt hij niet meer dan 'binair bestand gewijzigd'. Voor de opdrachten in module 2, 3 en 5 heb je dus een project met tekstbestanden nodig.
  • Ik gebruik al een clouddienst die versies bewaart. Is dat niet genoeg? Dat helpt bij per ongeluk overschrijven, maar het bewaart automatisch alles, zonder uitleg waaróm iets veranderde. Git legt vast op de momenten die jij kiest, met jouw beschrijving erbij — en dat is precies het verschil als je iets moet terugzoeken.
  • Is Git niet vooral voor grote teams? Het is juist ook voor in je eentje handig. Het grootste deel van deze cursus heeft geen tweede persoon nodig; samenwerken komt pas in module 5.
  • Moet ik nu al iets installeren? Nog niet. In les 1.2 leg ik eerst het verschil tussen Git en GitHub uit; in les 1.3 installeer je Git.
Check jezelf
  • Welke drie problemen lost versiebeheer op die losse kopieën niet oplossen?
  • Wat is in eigen woorden een commit?
  • Waarom is een clouddienst die automatisch versies bewaart niet hetzelfde als versiebeheer?