Home

Versionskontrollsystemen

Versionskontrollsystemen (VKS) är programvara som hanterar och följer ändringar i filer över tid. De gör det möjligt att lagra en historik av varje ändring i ett repository, spåra vem som gjort vad, återställa tidigare versioner och underlätta samarbete mellan flera utvecklare. Viktiga begrepp är repository, commit, gren, merge, tagg och diff. En commit registrerar en förändring tillsammans med ett meddelande som beskriver vad som ändrades.

Det finns två huvudkategorier av VKS: centraliserade och distribuerade. Centraliserade system lagrar hela historiken i en

Historiskt utvecklades VKS från tidiga system som RCS och CVS till Subversion i början av 2000-talet, och

central
server,
och
utvecklare
checkar
ut,
gör
ändringar
och
skickar
uppdateringar
till
servern.
Exempel
på
centraliserade
system
är
Subversion
och
CVS.
Distribuerade
system
kopierar
hela
repository
till
varje
klient,
vilket
gör
det
möjligt
att
arbeta
offline
och
sedan
synkronisera
förändringar
när
nätverk
finns
tillgängligt.
Exempel
på
distribuerade
system
är
Git
och
Mercurial.
Git
är
det
mest
använda
distribuerade
systemet
och
har
blivit
dominerande
inom
öppen
källkod,
ofta
i
kombination
med
plattformar
som
GitHub,
GitLab
och
Bitbucket.
senare
Git
och
andra
DVCS-system
blev
standard
i
många
projekt.
Fördelar
med
VKS
inkluderar
tydlig
historik,
återställning
av
tidigare
tillstånd,
spårbarhet
av
bidrag
och
förbättrad
samarbete.
Nackdelar
kan
vara
en
lärandekurva
och
komplexitet
vid
mycket
stora
projekt
eller
omfattande
samarbeten.