Hoppa till huvudinnehåll

Vad och varför?

Vad är versionhantering?

Versionhantering är en process som används för att hantera och spåra ändringar i källkod och andra filer över tiden. Det är ett verktyg som används främst inom mjukvaruutveckling men kan även vara till nytta för att hantera ändringar i andra typer av dokument, som textdokument eller konfigurationsfiler.

Versionhanteringssystem (VCS) gör det möjligt för utvecklare att spåra och hantera ändringar i sina projekt över tiden. Det ger också möjlighet att återställa tidigare versioner av filer och samarbeta med andra utvecklare på ett organiserat sätt.

Centraliserade versionhanteringssystem (CVCS): 

I ett CVCS finns det en central server som lagrar alla filer och deras historik. Utvecklare checkar ut filer från servern för att göra ändringar och checkar sedan in dem igen för att spara ändringarna till servern. 

Distribuerade versiohanteringssytem (DVCS):

I ett DVCS har varje utvecklare en komplett kopia av hela projektets historik på sin lokala maskin. Detta gör att utvecklare kan arbeta offline och göra ändringar utan att vara anslutna till en central server. Ändringarna kan sedan synkroniseras och delas med andra utvecklare vid behov.

Vad är Git?

Git är ett DVCS som utvecklades av Linus Torvalds för att hantera den enorma källkoden till Linux. Git lämpar sig väldigt väl till open source utveckling eftersom utvecklarna inte är beroende av en central server. Git är utformat för att vara snabbt, effektivt och skalbart för både små och stora projekt. Det tillåter flera utvecklare att samarbeta och spåra ändringar i en källkodsbas eller vilken annan typ av filstruktur som helst. 

Varför Git? 

Som ett exempel:

Ni ska bygga en hemsida, du och dina kurskamrater, som en del av webutvecklingskursen. Ni börjar med att bygga varsin sida i HTML och CSS. Men sen när det kommer till att få sidorna att fungera med varandra blir det helt plötsligt väldigt, väldigt jobbigt. Du och din kompis har gjort helt olika med era klasser och hur era knappar fungerar. 

Git är menat att skapa en gemensam grund för alla inblandade. Förändringarna som dina klasskamrater gör behöver oftast du också. Om din kompis redan har gjort en knapp som är snygg kan du bara kopiera den, istället för att uppfinna hjulet igen.