Git setup¶
Obs
Hvis du bruker Windows må du dobbelsjekke at du bruker git bash som default terminal i VSCode.
Git bash er en del av https://gitforwindows.org/ som vi har installert tidligere.
For å endre default terminal i VSCode må du gjøre følgende:
Åpne ny terminal.
Klikk på drop-down’en i terminalen.
Klikk på «Select Default Shell».
Velg «Git Bash».
Om du får problemer når du prøver å kjøre filene i VSCode:
..../python.exe: access denied
så må du deaktivere Windows’ egen versjon av Python. Søk App execution aliases eller appkjøringsaliaser og slå av de to som har med python å gjøre:
Konto på UiB Gitlab¶
Hvis du ikke allerede har gjort dette, lag en konto på UiB Gitlab. Instruksjoner finner du her: UiB Gitlab-konto
Bli med i INF100 gruppen¶
Hvis du ikke allerede har gjort dette:
Når du er logget på GitLab, klikk denne linken: https://git.app.uib.no/ii/inf100/20h/students
Klikk på «Request Access»

Vi kjører et automatisk skript som legger deg til i gruppen, og lager et test-prosjekt for deg. Det kan ta opp til 5 minutter før test-prosjektet er synlig for deg under https://git.app.uib.no/dashboard/projects
Testprosjekt¶
Du har to muligheter for å endre filene i dine prosjekter:
1. Rediger ditt prosjekt direkte på GitLab¶
Gå til https://git.app.uib.no/dashboard/projects og klikk på testprosjektet ditt.
Her ser du hovedsiden for repo’et ditt. Vi har allerede laget to filer,
README.md
oghello.py
. Du kan editere dem her:Klikk på
hello.py
-filen. Klikk så på EditEndre innholdet litt, f.eks med flere print(). I Commit Message-feltet kan du legge inn en beskrivelse av dine endringer. Skriv f.eks
Update hello.py with some test messages
Klikk så på Commit Changes. Nå er endringene lagret i repoet.Klikk Edit igjen, endre innholdet en gang til, og skriv f.eks
Update hello.py again
i Commit Message, så klikk Commit Changes for å lagre endringene.I menyen til venstre, under Repository, klikk på Graph. Her ser du alle endringene (eller commit-er) du har gjort. Klikk deg gjennom alle endringene, ved å klikke på de røde dottene i grafen. Her ser du detaljer om hver endring, dette vil være nyttig senere i kurset.
Det er ikke mulig å kjøre programmet direkte her. Derfor bruker man git vanligvis ved a klone en kopi av prosjektet til sin egen datamaskin:
2. Klone og redigere¶
Det finnes to måter for å hente koden fra serveren til din maskin: HTTPS og SSH. HTTPS-autentifisering er vanskelig å bruke med git.app.uib.no, derfor skal vi bruke SSH i kurset. Først må vi opprette en SSH-nøkkel, som serveren kan bruke for å identifisere maskinen din. Følg instruksene her: SSH-nøkkel. Når nøkkelen er lastet opp, er vi klar for clone:
På hovedsiden av prosjektet ditt finnes en Clone-knapp. Ta en kopi av lenken under Clone with SSH
I VSCode på din maskin, bruk File -> Open / Open Folder for å åpne en mappe du skal bruke for alle INF100-prosjekter. Du kan lage en ny mappe i dialogen, f.eks under Documents eller Desktop.
Åpne en ny terminal i VSCode, og skriv der:
git clone [lim inn lenken her]
Første gang du bruker SSH, må du bekrefte server ID ved å skrive
yes
.Bruk File -> Open en gang til, for å åpne prosjektmappen, som nå ligger inn i den mappen fra før.
Nå kan du åpne
hello.py
, og kjøre programmet. Så skal vi endre innholdet avhello.py
litt mer, og lagre endringene i git.Etter du har laget noen endringer, skriv følgende i terminalen:
git status
hello.py
vises i rødt. Det betyr at filen ble endret i forhold til den versjonen som finnes i git fra før.Nå bruker vi
git add hello.py
for å velge hvilke filene skal være med i commit’et’. Sjekk med
git status
en gang til: nå ser vi grønt farge.Så kan vi committe filen med:
git commit -m'Updated hello.py one more time, on my laptop'
Om det kommer en feilmelding her, må vi lage et navn og epost-adresse som git skal bruke i log-historien. Det skjer bare den første gang vi bruker commit. Bruk ditt navn her!
git config --global user.name "Eliza of Qwghlm" git config --global user.email "Eliza@example.com" git commit -m'Updated hello.py one more time, on my laptop'
Nå er
git status
tom.Vi kan se commit-graphen også her i terminalen med:
git log --graph
Her kan vi se våre siste endringene. Om log-listen er ganske lang, kan man bruke
q
for å avslutte.Endringene dine er committed i historien nå, men bare på din maskin. For å sende dem tilbake til serveren, bruker vi:
git push
og så er endringene også synlig på prosjektsiden på git.app.uib.no. Du kan også bruke
git pull
for å hente endringer fra serveren.
SSH-nøkkel¶
Obs
Når man lager en SSH-nøkkel, kan serveren identifisere den datamaskinen du bruker, og man trenger ikke å skrive inn passordet hver gang man tar kontakt med serveren. Vi må lage en nøkkel bare en gang for hver maskin vi bruker, og oppgi denne til GitLab.
Åpne opp Visual Studio Code, åpne så opp en terminal: Terminal->New Terminal
I terminalen, skriv:
ssh-keygen -t rsa -b 2048
Trykk enter til alle spørsmål (inkludert password).
Skriv så:
cat ~/.ssh/id_rsa.pub
Kopier outputet fra
id_rsa.pub
filen, det er din public keyPå Gitlab, gå så til: https://git.app.uib.no/profile/keys
Lim inn din public key i det store tekstfeltet.
Gi den et navn, navnet skal indikere hvilken maskin nøkkelen kommer fra. Det kan f.eks hete Min Etch-A-Sketch
Klikk Add key

Vanlig workflow¶
Obs
Den vanlige måten for å jobbe med et prosjekt er:
git clone
: henter et nytt prosjekt fra serveren til maskinEditere programmet, testkjøring, osv.
git add
: alle filene som skal committesgit commit -m'Some good description for the log'
: lagrer endringene lokaltgit push
: sender til serverentilbake til 2.
Vi kan alltid bruke git status
og git log
.
Dette er alt vi trenger for kurset, men om du har lyst å gå litt dypere kan vi anbefale