You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Hva er Git

Git er et verktøy for versjonskontroll og kodedeling. Det vil blant annet si at du kan lagre hele historikken til hvordan kode har utviklet seg, og gå tilbake til hvilket som helt commit punkt! Det innebærer også at du kan lage flere versjoner av et program for publisering. Det gjør det også mye lettere for flere å samarbeide om den samme koden. Git er i stand til å løse mange konflikter som kommer av forskjellig kode på forskjellige maskiner. De gangene Git ikke klarer det må det gjøres manuelt. Det finnes programmer som kan hjelpe til med dette, blant annet kan plugins til Eclipse eller IntelliJ IDEA hjelpe dere. Men det er ikke farlig å prøve seg fram, på egen hånd. Bare vær litt forsiktig og test koden før dere committer så dere ikke ødelegger jobben til andre.

GitHub

GitHub er en tjeneste som tilbyr Git versjonskontroll. I dette kurset har vi valgt å dele koden vi skriver med dere der. Dere må ikke skaffe dere konto for å få tilgang da vi kjører koden open source, men vi anbefaler det sterkt.

Hvordan få Git

Den enkleste måten å skaffe seg Git på er å navigere seg til GitHub sine sider, og klikk på "Downlaod GitHub for Windows", eller hvis du har Mac, klikk på "GitHub on Mac", og last ned derfra.

Alternativt kan du gå til Git sine nedlastingssider og skaffe en Git klient derfra. Jeg som skriver dette har aldri brukt GitHub sin klient, kun bash versjonen fra Git. Jeg antar det er enklere å bruke GitHub sin versjon siden den har grafisk grensesnitt, men jeg kommer til å forklare basisen for Git Bash først.

GitHub konto

Oppretter du en GitHub konto anbefales det at du bruker (BRUKERNAVN)@stud.ntnu.no adressen din når du registrerer deg på GitHub. Etter du har gjort vanlig registrering kan du søke om å få studentkonto, noe som gjør at du kan få 5 private repoer helt gratis.

TODO HENT INFO OM HVORDAN GRATIS STUDENTKONTO FIKSES

Rask intro til Git Bash

Hentet du klienten fra Git sine nedlastingssider og fulgte installasjonsveiledningen der, har du Git Bash installert allerede. På Windows 7 legger det seg automatisk en snarvei på startmenyen, under Git -> Git Bash. Åpne denne. Du er skal nå få fram et konsoll vindu. Default startlokasjon er i brukermappen din. Git Bash bruker normalt unix (linux) kommandoer for å navigere. Noen basiskommandoer er her, søk gjerne på nett for å få vite mer om dem:

KommandoHandling
cdskriv "cd MAPPENAVN" for å skifte mappe du står i. ".." som mappenavn går ett nivå opp. Tab er veldig kjekk som autofullfør. Har du flere mapper som starter på det samme, og klikker Tab to ganger, får du opp en liste over alle mappe/filnavn som starter på de innskrevne bokstavene. Dette trikset funker på det meste.
lsskriv "ls" for å få opp alle filer og mapper som er i den mappa du står i nå. "ls -la" gir deg mer informasjon om de forskjellige filene/mappene
mkdirskriv "mkdir MAPPENAVN" for å lage en ny mappe med navn MAPPENAVN. Fungerer som md i ms dos/ Windows konsollen.
mvskriv "mv FILNAVN NYTTFILNAVN" for å flytte en fil. Her kan både filnavn og nytt filnavn være en absolutt eller relativ sti. Du kan også bruke denne kommandoen til å endre filnavn.
rmskriv "rm FILNAVN" for å slette en fil. For å slette en mappe må du legge til noen kommandoer som "rm -rf MAPPENAVN". Dette vil slette mappa og alle undermapper og filer. Bruk med forsiktighet.

Og nå går vi over til grunnleggende Git.

For å hente, eller klone, et repo fra Git, gå naviger deg til hvor du har lyst til at repoet skal ligge. Skriv så:

"git clone https://github.com/IDI-PLab/Examples.git" for å få all eksempelkoden fra dette kurset. Dette vil automatisk legge seg i ei mappe som heter Examples. Vil du at den mappa skal hete noe annet, skriv heller "git clone https://github.com/IDI-PLab/Examples.git DITTMAPPENAVN". Vent til operasjonen er ferdig, og gå gjennom de eksemplene du vil se på.

KommandoHandling
git clone 
git pull 
git push 
git add 
git commit 
git branch 
git merge 
git checkout 


  • No labels