Øvingsprosjektet er en essensiell del av TDT4100. Når det kommer ut nye øvinger, blir det lagt til tester i øvingsprosjeket som man kan bruke til å sjekke at oppgaven er gjort riktig. I tillegg kommer løsningsforslag til øvingene i dette prosjektet, samt kode som brukes i øvingsforelesninger.
NB:
Uansett hvilket av alternativene dere velger:
Ikke endre eller legg til noe kode i andre mapper enn minegenkode og ovinger/src/main/java. Endringer på andre steder vil mest sannsynlig føre til "merge conflicts", noe som ikke er ønskelig. "Merge conflicts" oppstår når samme kodelinje har blitt endret til to ulike ting i hver sin branch, og så blir git forvirret når koden skal samles igjen.
Alternativ 1 - Fork din egen versjon (Anbefalt)
I dette alternativet lager man sin egen kopi (fork) av øvingsprosjektet. Dette gir muligheten til å bruke git aktivt, og lagre sine egne endringer på Gitlab.
- Gå til "link"
- Klikk Fork (man må være logget inn på gitlab):
- Gi prosjektet et valgfritt navn og beskrivelse. Velg å lagre prosjektet under din egen private Project URL, og velg privat synlighetsnivå (slik at ikke øvingene dine ligger ut offentlig).
- Klikk "Fork Project"
- Gå til ditt nye repository på gitlab.
- Klon repository til PCen din, for eksempel ved å trykke på knappen som vist under:
VS Code kommer til å spørre om brukernavn og passord til Gitlab. Har du aktivert tofaktor-autentisering, kan du ikke logge inn med passord, men må bruke en Personal Access Token i stedet for. Sjekk Denne guiden for hvordan man oppretter en slik. - Velg en mappe på PCen der prosjektet skal klones. Mappen du velger blir foreldremappen til prosjektet.
- Klikk "Select Repository Location", og vent på at VS Code tar seg av resten.
Konfigurer remote
For å kunne laste inn nye tester osv. med et "Forked" prosjekt, må vi først konfigurere originalprosjektet som remote:
- Åpne en terminal og naviger til ditt "forked" prosjekt. (For noen tips til navigering i terminalen, sjekke denne siden)
Kjør kommandoen
git remote add fagstab https://gitlab.stud.idi.ntnu.no/tdt4100/v2022/students.git
Verifiser at remote ble lagt til riktig ved å kjøre
git remote show
Nå skal man se både "origin" og "fagstab".
"Origin" er ditt personlige forked prosjekt, mens "fagstab" er knyttet til det originale prosjektet.
Laste inn oppdateringer
For å få oppdateringer fra originalprosjektet inn i ditt prosjekt, må vi kjøre en "merge".
Nødvendige endringer i originalprosjektet vil være på master-branchen, så dette er den eneste man trenger å forholde seg til.
- Åpne en terminal og naviger til prosjektet ditt.
Først henter vi ned nyeste informasjon om originalprosjektet med denne kommandoen:
git fetch fagstab
For å få med de nyeste endringene kjører man denne kommandoen:
git merge fagstab/master
Den vil legge til de nyeste endringene fra originalprosjektet til den branchen du befinner deg på. Om du vil sørge for at ditt gitlab-prosjekt også er oppdatert, kjør git push.
Alternativ 2 - Kloning av students-repository
Denne måten er den enkleste å sette opp prosjektet, men har en del begrensninger. Med dette alternativet vil man ikke kunne laste opp sin egen kode til Gitlab, og er avhengig av å ha alt av egen kode lokalt på PCen uten versjonskontroll.
- Gå til link
- Klon repository til PCen din, for eksempel ved å trykke på knappen som vist under:
- Velg en mappe på PCen der prosjektet skal klones. Mappen du velger blir foreldremappen til prosjektet.
- Klikk "Select Repository Location", og vent på at VS Code tar seg av resten.
Laste inn oppdateringer
For å oppdatere prosjektet når det har blitt lagt ut nye tester eller eksempelkode, trenger man bare å kjøre git pull.
For eksempel ved å bruke git-vinduet i VS Code: