Android

Ignorerer filer og kataloger i git (.gitignore)

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

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

Innholdsfortegnelse:

Anonim

Når du jobber med et prosjekt som bruker Git, vil du ofte ekskludere bestemte filer eller kataloger fra å bli presset til det eksterne depotet.

.gitignore filen spesifiserer hvilke ikke-sporede filer Git skal ignorere.

Hvilke filer bør ignoreres?

Ignorerte filer er vanligvis plattformspesifikke filer eller automatisk opprettede filer fra build-systemene. Noen vanlige eksempler inkluderer:

  • Kjøringsfiler som logg, lås, cache eller midlertidige filer. Filer med sensitiv informasjon, for eksempel passord eller API-nøkler. Kompilert kode, for eksempel .class eller.O.avhengighetskataloger, for eksempel /vendor eller /node_modules Bygg kataloger., som /public , /out , eller /dist Systemfiler som .DS_Store eller Thumbs.db IDE eller tekstredigerings konfigurasjonsfiler.

.gitignore

En lokal .gitignore fil blir vanligvis plassert i .gitignore rotkatalog. Du kan imidlertid opprette flere .gitignore filer i forskjellige underkataloger i depotet ditt. Mønstrene i .gitignore filene matches i forhold til katalogen der filen ligger.

Mønstre definert i filene som ligger i kataloger på lavere nivå (underkataloger) har forrang fremfor kataloger på høyere nivå.

Lokale .gitignore filer deles med andre utviklere og skal inneholde mønstre som er nyttige for alle andre brukere av depotet.

Regler for personlig ignorering

Mønstre som er spesifikke for ditt lokale depot og ikke skal distribueres til andre depoter, bør settes i .git/info/exclude .

Du kan for eksempel bruke denne filen til å ignorere genererte filer fra dine personlige prosjektverktøy.

Global .gitignore

Med Git kan du også opprette en global .gitignore fil, der du kan definere ignoreringsregler for hvert Git-lager i ditt lokale system.

Filen kan navngis hva du vil og lagres hvor som helst. Det vanligste stedet å oppbevare denne filen er hjemmekatalogen. Du må opprette filen manuelt og konfigurere Git for å bruke den.

For å angi ~/.gitignore_global som den globale Git ~/.gitignore_global filen, vil du for eksempel gjøre følgende:

  1. Opprett filen:

    touch ~/.gitignore_global

    Legg til filen i Git-konfigurasjonen:

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

    Åpne filen med teksteditoren din, og legg reglene til den.

Globale regler er spesielt nyttige for å ignorere bestemte filer som du aldri vil begå, for eksempel filer med sensitiv informasjon eller kompilerte kjørbare filer.

Ignorerer en tidligere forpliktede filer

Filene i arbeidskopien din kan spores eller ikke spores.

For å ignorere en fil som tidligere er begått, må du fjerne scenen og fjerne filen fra indeksen, og deretter legge til en regel for filen i .gitignore :

git rm --cached filename

Alternativet - --cached forteller git om ikke å slette filen fra arbeidstreet, men bare å fjerne den fra indeksen.

Hvis du vil fjerne en katalog rekursivt, bruker du alternativet -r :

git rm --cached filename

Når du rekursivt sletter filer, bruk alternativet -n som vil utføre en "dry run" og vise deg hvilke filer som blir slettet:

git rm -r -n directory

Feilsøking .gitignore fil

Noen ganger kan det være utfordrende å bestemme hvorfor en bestemt fil blir ignorert, spesielt når du bruker flere .gitignore filer eller komplekse mønstre. Det er her git check-ignore kommandoen med -v alternativet, som forteller git å vise detaljer om det matchende mønsteret, er praktisk.

For å sjekke hvorfor www/yarn.lock filen blir ignorert, ville du kjørt:

git check-ignore -v www/yarn.lock

Utgangen viser banen til gitignore filen, nummeret på den samsvarende linjen og det faktiske mønsteret.

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

Kommandoen godtar også mer enn ett filnavn som argumenter, og filen trenger ikke å eksistere i arbeidstreet ditt.

Viser alle ignorerte filer

--ignored alternativet --ignored viser en liste over alle ignorerte filer:

git status --ignored

Konklusjon

.gitignore filen lar deg ekskludere filer fra å bli sjekket inn i depotet. Filen inneholder globerende mønstre som beskriver hvilke filer og kataloger som skal ignoreres.

gitignore.io er en online tjeneste som lar deg generere .gitignore filer for operativsystemet ditt, programmeringsspråket eller IDE.