Home

versiebeheer

Versiebeheer is een verzameling technieken en systemen voor het bijhouden van wijzigingen in bestanden en de evolutie van projecten over de tijd. Het doel is historisering, samenwerking en reproduceerbare builds en releases.

Er bestaan twee hoofdtypen: centraal versiebeheer, waarbij een centrale server de bron van waarheid is, en gedistribueerd

Belangrijke concepten zijn repository, commit, hash, auteur, datum en boodschap; branches, merges en conflicts; en tags

Voordelen zijn onder meer betere samenwerking, traceerbaarheid van wijzigingen en de mogelijkheid om terug te keren

Versiebeheer is een essentieel hulpmiddel in softwareontwikkeling en kan ook worden gebruikt voor documentbeheer en onderzoeksgegevens.

versiebeheer,
waarbij
elke
gebruiker
een
volledige
kopie
van
de
geschiedenis
heeft.
Voorbeelden
van
centrale
systemen
zijn
Subversion
(SVN)
en
CVS;
gedistribueerde
systemen
zijn
Git,
Mercurial
en
Bazaar.
of
releases.
Een
typische
workflow
omvat
het
klonen
of
uitchecken
van
een
repository,
het
aanmaken
van
feature-branches,
regelmatige
commits
met
duidelijke
berichten,
en
uiteindelijk
het
samenvoegen
van
wijzigingen
via
een
merge
of
pull-request,
vaak
na
code
review.
naar
eerdere
toestanden.
Gedistribueerde
systemen
bieden
offline
werken
en
betere
faalbestendigheid.
Uitdagingen
zijn
onder
meer
mergeconflicten,
beheer
van
afhankelijkheden
en
grootte
van
de
repository,
en
het
implementeren
van
consistente
processen
zoals
branching-
en
releasemodellen.
Het
vereist
beleid
en
bijbehorende
workflows
om
de
baten
te
maximaliseren,
zoals
duidelijke
commit-berichten,
code
reviews
en
vastgestelde
branching-
en
releasemodellen.