Versionshantering

Introduktion till versionshantering

Versionshantering är en metod för att hantera förändringar i filer och kodbaser över tid. Det används främst inom mjukvaruutveckling men kan också tillämpas på andra typer av dokument, såsom textfiler och konfigurationsfiler. Med versionshantering kan användare spåra ändringar, samarbeta effektivt och återgå till tidigare versioner vid behov.

Varför versionshantering?

  • Historik och återställning – Möjlighet att se tidigare versioner och återgå vid behov.
  • Samarbete – Flera personer kan arbeta på samma projekt utan att skriva över varandras ändringar.
  • Backup och säkerhet – Kod och filer lagras på en central plats och kan återställas vid förlust.
  • Spårbarhet – Alla ändringar loggas, vilket gör det enkelt att se vem som gjort vad och varför.

Grundläggande begrepp

Repository (Repo)

Ett repository är en lagringsplats för projektets filer och historik. Det kan vara lokalt på en dator eller hostat på en server (exempelvis GitHub eller GitLab).

Commit

En commit är en sparad version av ändringar som gjorts i filer. Varje commit innehåller ett meddelande som beskriver ändringarna.

Branch

En branch är en separat utvecklingslinje inom ett projekt. Huvudgrenen kallas ofta main eller master, medan nya funktioner eller experiment kan skapas i separata grenar.

Merge

Att slå samman (merge) en branch innebär att ändringar från en utvecklingslinje integreras i en annan.

Konflikter

Om flera personer ändrar samma del av en fil samtidigt kan en konflikt uppstå. Då måste användaren manuellt avgöra vilken kod som ska behållas.

Vanliga Versionshanteringssystem

Git

Det mest populära systemet, distribuerat och effektivt för både enskilda utvecklare och team. Exempel på tjänster som använder Git:

  • GitHub – Molnbaserad tjänst för att lagra och dela Git-repos.
  • GitLab – Liknande GitHub, men med extra funktioner för CI/CD.
  • Bitbucket – Git-plattform som ofta används med Atlassian-produkter.

Subversion (SVN)

Ett äldre, centraliserat versionshanteringssystem som fortfarande används inom vissa organisationer.

Mercurial

Ett annat distribuerat versionshanteringssystem, liknande Git, men med ett enklare gränssnitt.

Sammanfattning

Versionshantering är en viktig del av modern mjukvaruutveckling och gör det enklare att hantera kod, samarbeta och säkra sin utveckling. Genom att använda ett versionshanteringssystem kan utvecklare effektivt hålla koll på förändringar och arbeta tillsammans på projekt.