Home

versiebeheersystemen

Versiebeheersystemen zijn tools die veranderingen aan bestanden en hun geschiedenis bijhouden. Ze maken het mogelijk om vorige versies te bekijken, wijzigingen te vergelijken en terug te zetten. Elke wijziging wordt vastgelegd in een commit met een beschrijving, tijdstip en maker. Door de hele projectstructuur heen beheren ze verschillende bestanden en mappen met consistente metadata en referenties tussen wijzigingen.

Belangrijke concepten zijn onder andere de repository, die de volledige geschiedenis bevat, en de working directory,

Er bestaan centrale (gevestigde) systemen en gedistribueerde systemen. Centrale systemen gebruiken één centrale server; gedistribueerde systemen

Versiebeheersystemen verhogen traceerbaarheid, samenwerking en stabiliteit in softwareprojecten, documentbeheer en datawetenschap. Ze faciliteren audits, releases en

waarin
men
actief
aan
bestanden
werkt.
Een
commit
registreert
een
wijziging
en
kan
verwijzingen
bevatten
naar
eerdere
commits.
Takken
(branches)
maken
parallelle
ontwikkeling
mogelijk;
merges
brengen
die
takken
weer
samen.
Tags
markeren
belangrijke
punten
in
de
geschiedenis.
Differenties
(diffs)
tonen
wat
er
precies
is
veranderd.
kopiëren
de
volledige
geschiedenis
naar
elke
client.
Voorbeelden:
Git
en
Mercurial
zijn
DVCS;
Subversion
en
CVS
zijn
CVCS.
In
de
praktijk
werken
teams
met
repositories
op
een
centrale
server
en
wisselen
wijzigingen
uit
via
push
en
pull,
of
via
merge
requests/pull
requests.
Conflicten
ontstaan
bij
gelijktijdige
bewerkingen
en
vereisen
handmatige
resolutie.
rollback.
De
keuze
voor
een
systeem
hangt
af
van
behoeften
zoals
ondersteuning
voor
atomische
commits,
workflows,
schaal
en
integratie
met
andere
tools.
Git
is
wereldwijd
dominant
in
softwareontwikkeling;
oudere
systemen
zoals
Subversion
blijven
in
sommige
organisaties
in
gebruik.