Page tree
Skip to end of metadata
Go to start of metadata

Git er versjonskontroll. Dette brukes mye for prosjekter, spesielt når flere jobber sammen om samme prosjekt. Kjapt og kort om git:

  • Et git repository ("repo") er i bunn og grunn en mappe med filer
  • Git er versjonskontroll, som blant annet betyr at alle endringene som er blitt gjort på innholdet i et repo er sporet på en ryddig måte
  • Et git-repo kan "klones" og eksistere på mange ulike maskiner. Endringer kan gjøres lokalt på en maskin og senere overføres til de andre klonene av repoet. Alle klonene er i prinsipppet likeverdige, men ofte har man en server med en klone av repoet som utfører en del ekstra funksjoner (issues, testing, publisering m.m.).
  • I motsetning til f.eks. Dropbox eller Google Drive, er det ingen automatisk synkronisering mellom kloner av et repo. Henting (pull) og sending (push) av endringer (commit) gjøres manuelt/eksplisitt.

The Gospel

Innen ingeniørarbeid har versjonskontroll enorm verdi. Det virker kanskje simpelt, men det gir deg automatisk oversikt over alle endringer som er gjort i et prosjekt, og gjør det mye enklere å samarbeide om f.eks. koding.

Selv om du bare skal slenge sammen et latterlig prosjekt på OV en kveld, så er det like greit å legge det på git. Det koster nesten ingenting når du har lært deg hvordan du gjør det, og er gull verdt hvis du ender opp med å fortsette på det senere, eller noen andre ender opp med å prøve å reparere det.

Det å bli rutta med git kommer også godt med i nesten alle ingeniørjobber, så det er like greit å begynne å lære seg det tidlig.

Hvordan git

De mest brukte kommandoene finner du her: Git Cheat Sheet

Boken Pro Git med all dokumentasjon og masse informasjon finner du her: https://git-scm.com/book/en/v2

Ordbok

  • commit: Gjøre bestemte lokale endringer "offisielle", dvs at de kan sendes til andre kloner av repoet
  • pull: Hente commit'a endringer fra en annen klone av repoet
  • push: Sende commit'a endringer fra en annen klone av repoet. I samarbeidsprosjekter er det vanligvis god praksis å ikke pushe til master/main.
  • pull request: Foreslå at noen pull'er dine endringer. Vanligvis blir endringene godkjent av noen andre som kvalitetssikring.
  • clone: Lage en kopi av et repo
  • branch: En parallel versjon av et repo hvor man kan gjøre endringer separat, for så å merge dem sammen senere