Android

Ignorera filer och kataloger i git (.gitignore)

.gitignore: Ignoring Files in Git | Git Tutorials #7

.gitignore: Ignoring Files in Git | Git Tutorials #7

Innehållsförteckning:

Anonim

Ofta, när du arbetar med ett projekt som använder Git, vill du utesluta specifika filer eller kataloger från att skjutas till fjärrförvaret.

.gitignore filen anger vilka ospårade filer Git ska ignorera.

Vilka filer ska ignoreras?

Ignorerade filer är vanligtvis plattformspecifika filer eller automatiskt skapade filer från byggsystemen. Några vanliga exempel inkluderar:

  • Runtime-filer som logg, lås, cache eller tillfälliga filer. Filar med känslig information, till exempel lösenord eller API-nycklar. Samlad kod, till exempel .class eller.O.beroende-kataloger, t.ex., såsom /public , /out eller /dist Systemfiler som .DS_Store eller Thumbs.db IDE eller textredigeringsfiler.

.gitignore

En lokal .gitignore fil placeras vanligtvis i förvarets rotkatalog. Du kan dock skapa flera .gitignore filer i olika underkataloger i ditt arkiv. Mönstren i .gitignore filer matchas relativt katalogen där filen finns.

Mönster definierade i filerna som finns i kataloger på lägre nivå (underkataloger) har företräde framför kataloger på högre nivå.

Lokala .gitignore filer delas med andra utvecklare och bör innehålla mönster som är användbara för alla andra användare av förvaret.

Personliga ignorera regler

Mönster som är specifika för ditt lokala lagringsutrymme och inte bör distribueras till andra förvar, ska ställas in i .git/info/exclude .

Till exempel kan du använda den här filen för att ignorera genererade filer från dina personliga projektverktyg.

Global .gitignore

Med Git kan du också skapa en global .gitignore fil, där du kan definiera ignoreringsregler för varje Git-lager i ditt lokala system.

Filen kan namnges vad du vill och lagras på vilken plats som helst. Den vanligaste platsen att hålla den här filen är hemkatalogen. Du måste skapa filen manuellt och konfigurera Git för att använda den.

Om du till exempel ställer in ~/.gitignore_global som den globala Git ignorera-filen, gör du följande:

  1. Skapa filen:

    touch ~/.gitignore_global

    Lägg till filen i Git-konfigurationen:

    git config --global core.excludesfile ~/.gitignore_global

    Öppna filen med din textredigerare och lägg till dina regler i den.

Globala regler är särskilt användbara för att ignorera vissa filer som du aldrig vill göra, till exempel filer med känslig information eller kompilerade körbara filer.

Ignorera en tidigare överförda filer

Filerna i din arbetskopia kan spåras eller spåras.

För att ignorera en fil som tidigare har begåtts måste du avställa och ta bort filen från indexet och sedan lägga till en regel för filen i .gitignore :

git rm --cached filename

--cached säger git att inte ta bort filen från arbetsträdet utan bara ta bort den från indexet.

För att ta bort en katalog rekursivt använder du alternativet -r :

git rm --cached filename

När du rekursivt tar bort filer använder du alternativet -n som utför en "torr körning" och visar vilka filer som ska raderas:

git rm -r -n directory

Debugging .gitignore fil

Ibland kan det vara utmanande att avgöra varför en specifik fil ignoreras, särskilt när du använder flera .gitignore filer eller komplexa mönster. Det är här git check-ignore kommandot med -v alternativet, som säger git att visa detaljer om matchningsmönstret, är praktiskt.

Till exempel, för att kontrollera varför filen www/yarn.lock ignoreras skulle du köra:

git check-ignore -v www/yarn.lock

Utgången visar sökvägen till gitignore filen, numret på matchningslinjen och det faktiska mönstret.

www/.gitignore:31:/yarn.lock www/yarn.lock

Kommandot accepterar också mer än ett filnamn som argument, och filen behöver inte existera i ditt arbetsträd.

Visar alla ignorerade filer

git status med alternativet --ignored visar en lista över alla ignorerade filer:

git status --ignored

Slutsats

.gitignore filen låter dig utesluta filer från att kontrolleras i förvaret. Filen innehåller glödande mönster som beskriver vilka filer och kataloger som ska ignoreras.

gitignore.io är en onlinetjänst som låter dig generera .gitignore filer för ditt operativsystem, programmeringsspråk eller IDE.