==== Remote repository og GitHub ==== Git != GitHub GitHub er blot en online service der hoster Git projekter. === Mål === * Du lærer to måder at koble et __lokalt repository__ sammen med et __remote repository__ (GitHub). === Hvorfor === * Remote repositories gør det muligt at: * dele projekter * samarbejde med andre * sikkerhedskopiere dit spilprojekt * GitHub fungerer som projektets “online hjem”. === Hvordan === * Der findes **to metoder**: (//..probably more..//) * **Metode A:** Lokalt repository oprettes først → dette forbindes til GitHub * **Metode B:** GitHub repository oprettes først → dette klones til din computer ---- === Teori === === Metode A – Forbind et eksisterende lokalt repository === * `git remote add origin ` *kobler dit lokale repository til GitHub* * `git push -u origin main` *sender commits til GitHub første gang* ----- === Metode B – Klon et repository fra GitHub === * ''git clone '' * kopierer hele repository fra GitHub til din computer* * Remote bliver **automatisk** sat op som ''origin'' * Fælles kommando: * `git pull` – henter ændringer fra GitHub ---- //Whats all this **origin** stuff anyway?// \\ * origin er er blot navnet på dit remote repository * betraget **origin** som: “det sted på internettet, hvor mit projekt bor". === Øvelser === * **Vælg én af metoderne nedenfor** * **Metode A: Lokalt repository → GitHub** * Opret et nyt repository på GitHub (tomt). * I GitBash, i dit projekt: git remote add origin * Push dine commits: git push -u origin main * **Metode B: GitHub → Lokal computer** * Opret et repository på GitHub. * Kopiér repository’ets URL. * Naviger til fx Desktop: cd ~/Desktop * Klon repository: git clone ---- === Hvornår bruger man clone i stedet for init? === * Brug **git clone**, når: * Repository allerede findes på GitHub * Du arbejder sammen med andre * Du får udleveret et startprojekt * Brug **git init** og **git remote add**, når: * Du starter et helt nyt projekt lokalt * GitHub-repository først oprettes senere ---- === Checkpoints === * Dit projekt findes både: * lokalt på din computer * på GitHub * `git status` virker uden fejl. * `git remote -v` viser forbindelse til GitHub. * Du kan forklare forskellen på: * `git init` + `git remote add` * `git clone` ---- [[{}git:git_forloeb|Til oversigt]]