Hoppa till innehåll

Vad är ett fjärr-repository?

  • Vad ett fjärr-repository är, och vad det är bra för.
  • Vad origin och origin/main betyder.
  • Vilka tjänster som erbjuder fjärr-repositories, till exempel GitHub.

I modul 3 och 4 såg du vad GitGitEtt program som sparar versioner av filerna i ett projekt, så att man kan se vad som ändrats, gå tillbaka till tidigare versioner och arbeta flera samtidigt.Läs mer om Git ännu inte löser: allt finns bara på din dator. Går datorn sönder försvinner historiken. Du kan inte heller fortsätta arbeta från en annan dator, och ingen annan kan arbeta med dig. Ett fjärr-repository löser alla tre problemen.

Ett fjärr-repository (på engelska remote repository, ofta bara remote) är en kopia av ditt repositoryRepository (repo)En projektmapp som Git håller ordning på: alla filer i projektet plus hela historiken av sparade versioner.Läs mer om repository på en annan plats, oftast på en server på internet. Det innehåller samma commits och samma grenar som ditt lokala repository, men ingen arbetar direkt i det. I stället skickar du dina commits dit och hämtar andras commits därifrån.

Ett fjärr-repository överst, kallat origin. Nederst två datorer med var sitt lokalt repository. git push skickar commits från en dator till fjärr-repositoryt. git fetch och git pull hämtar commits från fjärr-repositoryt till en dator. Laptopen fick sin kopia med git clone.

Fyra kommandon gör nästan allt arbete:

Kommando Vad det gör
git clone hämtar en egen kopia av ett fjärr-repository, första gången
git push skickar dina nya commits till fjärr-repositoryt
git fetch hämtar nya commits från fjärr-repositoryt, utan att ändra dina filer
git pull hämtar nya commits och för in dem i din gren

Ett repository kan ha flera fjärr-repositories, och varje får ett kort namn. Det första heter nästan alltid origin, ungefär ursprunget.

Ditt lokala repository minns också hur grenarna såg ut på servern senast du hade kontakt med den. Den gren som heter main på origin syns hos dig som origin/main. Den uppdateras bara när du kör git fetch, git pull eller git push. Git kontrollerar aldrig servern av sig själv.

Du kan lägga ett fjärr-repository var som helst där Git kommer åt det, till och med i en mapp på din egen dator. Oftast används en tjänst på internet:

  • GitHub (github.com) är den största. Kursen använder GitHub i sina exempel.
  • GitLab (gitlab.com) och Codeberg (codeberg.org) fungerar på samma sätt. Codeberg är ideellt och kör programmet Forgejo.

Git-kommandona är desamma oavsett tjänst. Det är bara webbplatsen och sättet att logga in som skiljer sig.

git remote -v visar vilka fjärr-repositories ett repository har. I ett repository som du har skapat med git init finns inga, och kommandot skriver ingenting. I en kopia som är hämtad från GitHub ser det ut så här:

Terminal
$ git remote -v
origin https://github.com/octocat/Hello-World.git (fetch)
origin https://github.com/octocat/Hello-World.git (push)

Namnet är origin, och adressen är samma för att hämta (fetch) och skicka (push).

Det här repositoryt är så gammalt att huvudgrenen heter master. Det fungerar precis som main.

1. Vad är ett fjärr-repository?
Visa rätt svar
  • En kopia av ditt repository på en annan plats, oftast en server: Du skickar dina commits dit och hämtar andras därifrån.
2. Vad betyder origin/main?
Visa rätt svar
  • Hur grenen main såg ut på origin senast du hade kontakt med servern: Den uppdateras bara när du kör git fetch, git pull eller git push.
3. Vilka av tjänsterna kan du använda för ett fjärr-repository? (Välj alla som stämmer)
Visa rätt svar
  • GitHub
  • GitLab
  • Codeberg: Git-kommandona är desamma oavsett tjänst.

  • Ett fjärr-repository är en kopia av ditt repository på en annan plats, oftast en server.
  • Det skyddar historiken och gör att du kan arbeta från flera datorer och med andra.
  • git clone hämtar en kopia, git push skickar, git fetch hämtar och git pull hämtar och för in.
  • Det första fjärr-repositoryt heter oftast origin. origin/main visar hur main såg ut där senast.
  • GitHub, GitLab och Codeberg fungerar på samma sätt. Kursen använder GitHub.