Versjonskontroll

Som IT-utvikler, enten du jobber alene eller i team, er det kritisk å ha et system for å holde styr på endringene i koden din. Det er her versjonskontroll kommer inn i bildet.

Hva er versjonskontroll?

Versjonskontroll, også kalt revisjonskontroll eller kildekodekontroll, er et system som sporer og lagrer endringer i filer over tid. Dette kan være kildekode, dokumenter, bilder, eller andre filer relatert til et prosjekt. Tenk på det som en “angre”-knapp for hele prosjektet ditt, som lar deg gå tilbake til tidligere versjoner, se hvem som gjorde hvilke endringer, og hvorfor.

Hvorfor bruke versjonskontroll?

  • Samarbeid: Versjonskontrollsystemer (VCS) gjør det mulig for flere utviklere å jobbe på samme prosjekt samtidig, uten å overskrive hverandres arbeid.
  • Sporing av endringer: Du kan se nøyaktig hvilke endringer som er gjort, hvem som gjorde dem, og når.
  • Angre feil: Hvis du gjør en feil, kan du enkelt gå tilbake til en tidligere versjon av koden.
  • Eksperimentering: Du kan lage “grener” (branches) for å teste ut nye funksjoner eller ideer uten å påvirke hovedprosjektet.
  • Sikkerhetskopiering: Versjonskontrollsystemer fungerer som en sikkerhetskopi av prosjektet ditt.

Typer versjonskontrollsystemer

  • Lokale VCS: Lagrer versjoner av filene dine på din egen maskin. Enkelt, men begrenset for samarbeid. Eksempler: Git, Mercurial.
  • Sentraliserte VCS (CVCS): Bruker en sentral server for å lagre alle versjoner av filene. Eksempler: Subversion (SVN), CVS.
  • Distribuerte VCS (DVCS): Hver utvikler har en komplett kopi av prosjekthistorikken. Eksempler: Git, Mercurial.

Git - det mest populære VCS

Git er et distribuert versjonskontrollsystem som er blitt standarden i bransjen. Det er raskt, effektivt og fleksibelt, og brukes av utviklere over hele verden.

Grunnleggende Git-kommandoer:

  • git init: Initialiserer et nytt Git-repository.
  • git clone: Kloner et eksisterende repository.
  • git add: Legger til filer i staging-området.
  • git commit: Lagrer endringene dine med en beskrivelse.
  • git push: Sender endringene dine til en ekstern server (f.eks. GitHub, GitLab).
  • git pull: Henter endringer fra en ekstern server.
  • git branch: Oppretter eller viser grener.
  • git merge: Slår sammen grener.

Eksempler på bruk

  • Åpen kildekode-prosjekter: Git brukes i nesten alle store åpen kildekode-prosjekter, som Linux-kjernen og Android.
  • Webutvikling: Git brukes til å spore endringer i nettsider og webapplikasjoner.
  • Spillutvikling: Git brukes til å håndtere store og komplekse spillprosjekter.

Som IT-utvikler er det viktig å ha en god forståelse av versjonskontroll og Git. Det er et essensielt verktøy for samarbeid, sporing av endringer og sikkerhetskopiering av kode.


Relaterte kompetansemål

  • planlegge, utvikle og dokumentere løsninger med innebygd personvern og sikkerhet
  • planlegge, utvikle og dokumentere løsninger som er energieffektive og bærekraftige
  • videreutvikle en løsning for å ivareta brukernes behov
  • planlegge, utvikle, sette opp og dokumentere systemer for datainnsamling, analyse og visualisering
  • planlegge, utvikle, sette opp og dokumentere integrasjoner mellom ulike systemer og databaser
  • utvikle og bruke dokumentasjon og veiledninger
  • utvikle og tilpasse brukergrensesnitt som ivaretar krav til universell utforming
  • velge og bruke relevante rammeverk og moduler til utvikling
  • bruke utviklingsstrategier og samarbeide med andre utviklere
  • utforske og vurdere eksisterende og nye teknologier og bransjerelevante kodespråk