Versionhallintaan
Versionhallintaan tarkoitetut järjestelmät tallentavat muutokset projektin tiedostoihin ja säilyttävät niiden historian. Ne mahdollistavat palaamisen aiempiin tiloihin, kokeilujen eriyttämisen ja yhteistyön useiden tekijöiden kanssa. Versionhallinta on keskeinen osa ohjelmistokehitystä, ja sitä voidaan käyttää myös muussa sisällöntuotannossa.
Keskeisiä käsitteitä ovat repositorio, johon tiedostot tallennetaan, ja commit, joka kuvaa yksittäisen tallennuksen sisällön. Jokaiselle commitille
Vakiintuneet järjestelmät ja käyttökohteet jakautuvat keskitettyihin ja hajautettuihin malleihin. Keskitetyt järjestelmät kuten SVN tai CVS käyttävät
Työprosessi sisältää commit-viestit, säännöllisen synkronoinnin etähakemistoon sekä yhdistämisen (merge) tai uudelleensovittamisen (rebase) päähaaraan. Branching mahdollistaa useiden
Edut ovat parempi luotettavuus, parempi päätöksenteon historiointi sekä tehokas yhteistyö. Haasteita ovat konfliktit, aloitusvaiheen oppimiskustannukset ja
Versionhallintaa sovelletaan ohjelmistokehityksen lisäksi dokumentaation, datan ja julkaisujen hallintaan.