Home

versionhallinta

Versionhallinta, eller versionskontroll, är ett system för att samla, spåra och hantera förändringar i filer över tid. Syftet är att underlätta samarbete mellan flera bidragsgivare, bevara en fullständig historik och möjliggöra återställning till tidigare tillstånd när det behövs. Genom att registrera varje ändring som en commit med metadata som tid och avsikt blir det möjligt att följa utvecklingen och förstå varför beslut togs.

Det finns två huvudtyper av versionhallning: centraliserade system och distribuerade system. Centraliserade versionhanteringssystem (CVCS) som Subversion

Viktiga begrepp är repository, arbetskopia, commits samt grenar och taggar. I DVCS, och ofta i CVCS, används

Vanliga arbetsflöden inkluderar att göra ändringar lokalt, registrera dem som commits med tydliga meddelanden, och sedan

och
Perforce
har
en
central
repository
där
alla
ändringar
görs.
Distribuerade
versionhanteringssystem
(DVCS)
som
Git
och
Mercurial
gör
varje
arbetskopia
till
en
komplett
historia
av
projektet,
och
ändringar
delas
mellan
användare
genom
push
och
pull
mellan
olika
kopior
av
lagringen.
ofta
en
staging
area
eller
index
som
förbereder
ändringar
innan
de
registreras
i
historiken.
Vid
arbete
i
flera
grenar
kan
ändringar
införlivas
genom
merging,
vilket
ibland
kräver
konflikthantering
om
samma
del
av
koden
har
ändrats
samtidigt
i
olika
grenar.
synkronisera
med
ett
fjärrrepo
genom
push
eller
pull.
Fördelarna
med
versionhallning
är
bland
annat
fullständig
historik
och
spårbarhet,
lättare
återställning
av
fel,
bättre
isolering
av
nya
funktioner
genom
grenar
samt
ökat
samarbete
i
team.
Val
av
verktyg
och
arbetsmetoder
påverkas
av
projektets
storlek,
krav
på
distribution
och
säkerhet.