Hoppa till innehåll

Namn, e-post och inställningar

  • Att ställa in ditt namn och din e-postadress i 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.
  • Att låta den första grenenBranchEn egen utvecklingslinje i ett repository, där man kan göra ändringar utan att påverka huvudversionen.Läs mer om grenen i nya projekt heta main.
  • Skillnaden mellan globala och lokala inställningar, och hur du ser vilka som gäller.

Varje sparad version i Git, en commitCommitEn sparad version av projektet i Git, med en beskrivning av vad som ändrats, vem som gjorde det och när.Läs mer om commit, innehåller namnet och e-postadressen på den som sparade den. Saknas de vägrar Git ibland att spara, och ibland gissar det fram ett namn och en adress från datorn, som sällan blir rätt. Det är också bra att alla nya projekt får samma namn på sin första gren, så att det stämmer med resten av kursen.

Inställningarna görs med git config. De vanligaste ställer du in en gång, för alla projekt på datorn:

Terminal
git config --global user.name "Kim Svensson"
git config --global user.email "kim@example.com"
git config --global init.defaultBranch main
  • user.name och user.email är namnet och adressen som står i varje commit du gör.
  • init.defaultBranch main gör att den första grenen i nya projekt heter main. En gren är en utvecklingslinje, som du lär dig mer om i modul 4. Utan inställningen heter den master och Git skriver en lång påminnelse när du skapar ett projekt. Tjänster som Forgejo och GitHub använder main.

Globala inställningar (--global) gäller alla projekt på datorn för din användare. De sparas i filen .gitconfig i din hemmapp.

Lokala inställningar gäller bara ett projekt. Du gör dem utan --global, inuti projektmappen, och de sparas i projektets egen fil .git/config. En lokal inställning går före den globala. Det är användbart om du vill använda en annan e-postadress i ett visst projekt, till exempel jobbets.

Så här ser du dina globala inställningar, och värdet för en enda inställning:

Terminal
$ git config --global --list
user.name=Kim Svensson
user.email=kim@example.com
init.defaultbranch=main
$ git config user.name
Kim Svensson

Git skriver namnen på inställningarna med små bokstäver i listan, init.defaultbranch. Det spelar ingen roll: Git skiljer inte på stora och små bokstäver i namnen.

När du har ett projekt visar --show-origin varifrån varje inställning kommer. Här har projektet en lokal e-postadress som går före den globala:

Terminal
$ git config --list --show-origin
file:/tmp/kim/.gitconfig user.name=Kim Svensson
file:/tmp/kim/.gitconfig user.email=kim@example.com
file:/tmp/kim/.gitconfig init.defaultbranch=main
file:.git/config core.repositoryformatversion=0
file:.git/config core.filemode=true
file:.git/config core.bare=false
file:.git/config core.logallrefupdates=true
file:.git/config user.email=kim.jobb@example.com

Raderna med .gitconfig är de globala och raderna med .git/config är projektets lokala. Hos dig står din egen hemmapp i stället för /tmp/kim, till exempel /home/kim, /Users/kim eller C:/Users/kim. Raderna som börjar med core. skapar Git själv i varje nytt projekt.

Lokala inställningar provar du i nästa lektion, när du har ett projekt.

1. Varför ska du ställa in user.name och user.email?
Visa rätt svar
  • De står i varje commit du gör: Så går det att se vem som gjorde varje ändring.
2. Var gäller en inställning som görs med --global?
Visa rätt svar
  • I alla projekt på datorn för din användare: Den sparas i .gitconfig i din hemmapp.
3. Ett projekt har en lokal user.email och du har också en global. Vilken används i projektet?
Visa rätt svar
  • Den lokala: En lokal inställning går före den globala.
4. Vad gör git config --global init.defaultBranch main?
Visa rätt svar
  • Den första grenen i nya projekt heter main

  • git config --global user.name och user.email talar om vem du är. Det står i varje commit.
  • git config --global init.defaultBranch main gör att den första grenen heter main.
  • Globala inställningar gäller alla projekt (~/.gitconfig), lokala bara ett (.git/config), och den lokala går före.
  • git config --list --show-origin visar vilka inställningar som gäller och varifrån de kommer.