Hoppa till innehåll

Filer som Git ska strunta i: .gitignore

  • Att skapa filen .gitignore och skriva mönster i den.
  • Vilka sorters filer som inte hör hemma i ett repository.
  • Varför .gitignore inte hjälper för en fil som redan är sparad.

I en projektmapp hamnar ofta filer som inte ska sparas: säkerhetskopior som texteditorn skapar, tillfälliga filer och systemfiler som .DS_Store på macOS och Thumbs.db på Windows. Ibland finns där också sådant som aldrig får hamna i Git, till exempel lösenord. Med .gitignore slipper du se dem i git status och riskerar inte att råka spara dem med git add ..

.gitignore är en vanlig textfil i projektmappen. Varje rad är ett mönster. Filer som matchar ett mönster blir osynliga för Git: de visas inte i git status och kommer inte med vid git add ..

Mönster Ignorerar
*.bak alla filer som slutar på .bak
tmp/ mappen tmp och allt i den
.DS_Store filen med exakt det namnet, var den än ligger
# text ingenting – raden är en kommentar

.gitignore ska själv sparas i repositoryt. Då gäller samma regler för alla som arbetar i projektet.

Projektmappen innehåller en säkerhetskopia och en mapp med tillfälliga filer:

Terminal
$ git status --short
?? resplan.txt.bak
?? tmp/

(--short visar läget kortfattat. ?? betyder ospårad.) Skapa .gitignore med två rader:

.gitignore
# Säkerhetskopior och tillfälliga filer
*.bak
tmp/

Nu syns bara .gitignore själv:

Terminal
$ git status
On branch main
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore
nothing added to commit but untracked files present (use "git add" to track)
1. Vilket mönster i .gitignore ignorerar alla filer som slutar på .log?
Visa rätt svar
  • *.log
2. Filen hemligt.txt är redan sparad i en commit. Du lägger till hemligt.txt i .gitignore. Vad händer?
Visa rätt svar
  • Git fortsätter att följa filen, och den finns kvar i de gamla commitarna: .gitignore gäller bara filer som Git inte redan följer. Därför ska hemligheter aldrig sparas från början.
3. Vilka filer hör hemma i .gitignore? (Välj alla som stämmer)
Visa rätt svar
  • Säkerhetskopior som texteditorn skapar
  • Filer med lösenord eller andra hemligheter: Ja – men lägg dem i .gitignore innan du någonsin sparar dem.

  • .gitignore innehåller mönster för filer som Git ska strunta i, till exempel *.bak och tmp/.
  • Spara .gitignore i repositoryt, så att reglerna gäller alla i projektet.
  • .gitignore påverkar inte filer som redan är sparade. Spara aldrig hemligheter från början.