Ikke alle filer i prosjektet ditt skal være versjonskontrollert. Finn ut hvilke filtyper du bør ekskludere fra kilderepoen din.
Versjonskontroll er et viktig verktøy for å spore endringer i kodebasen din, men du vil ikke alltid spore hver fil.
For å unngå rot og redusere risikoen for å distribuere sensitiv informasjon, kan du bruke en fil som heter .gitignore. Denne filen spesifiserer hvilke filer og kataloger Git ikke skal indeksere.
Det kan være en utfordring å bestemme hvilke filer som skal inkluderes i .gitignore, spesielt hvis du er ny på utvikling. Finn ut hvilke filer du bør legge til i .gitignore for en jevnere Git-arbeidsflyt.
Opprette en .gitignore-fil
For at .gitignore-filen din skal ha noen effekt, må du ha Git initialisert i prosjektet ditt.
Du kan initialisere Git ved å kjøre kommandoen nedenfor i terminalen din:
git init
Denne kommandoen oppretter et nytt Git-lager for prosjektet ditt, i en skjult ".git"-underkatalog som inneholder alle filene og katalogene den trenger for å versjonskontrollere prosjektet.
For å kjøre denne kommandoen må du ha Git installert i systemet ditt.
Deretter oppretter du .gitignore-filen din ved å kjøre kommandoen nedenfor:
ta på.gitignore
Ved å kjøre kommandoen ovenfor opprettes en ny fil, ".gitignore" i din nåværende katalog. Du kan ekskludere en fil fra Git ved å legge til filnavnet eller filbanen (hvis filen er i en annen katalog enn .gitignore fil).
Git trenger ikke å spore hver fil i prosjektet ditt, og sporing av noen filer kan føre til uforutsette problemer. Dette er noen av filene du bør legge til i .gitignore.
1. Konfigurasjonsfiler
Konfigurasjonsfiler lagrer innstillinger og andre parametere som programmene dine bruker for å definere og tilpasse oppførselen deres. Disse filene lagrer ofte databasetilkoblingsstrenger, API-nøkler og annen sensitiv informasjon som du ikke bør eksponere i Git-depotet ditt.
Hvis du inkluderer konfigurasjonsfiler i depotet ditt, kan alle som har tilgang til det se innholdet deres. Det kan inkludere sensitiv informasjon, som kan føre til sikkerhetsbrudd og andre problemer.
For å ekskludere konfigurasjonsfiler fra Git-depotet ditt, legg til spesifikke filnavn eller mappenavn til din .gitignore fil.
Du kan for eksempel legge til linjen nedenfor til din .gitignore fil for å ignorere en .env fil.
.env
2. Bygg artefakter
Byggeartefakter er de kompilerte eller genererte filene som produseres når du bygger prosjektet ditt. Disse filene lever vanligvis i en "mål" eller "bygge" katalog.
Byggeartefakter kan inkludere kompilerte Java-klasser, JAR-filer, WAR-filer, binære filer, distribusjonspakker, rapporter, loggfiler og andre generert under byggeprosessen.
Det er generelt en god praksis å ekskludere byggeartefakter fra Git-depotet ditt fordi de kan være veldig store. De kan også være mindre bærbare enn kildefilene dine, bare relevante for et spesifikt miljø. Å inkludere dem i depotet ditt kan øke størrelsen på depotet ditt og gjøre det tregere å klone og jobbe med.
For å ekskludere byggeartefakter fra Git-depotet ditt, legg til "mål/" eller "bygge/" katalog til din .gitignore fil.
For eksempel:
# .gitignore
mål/
bygge/
3. Integrerte utviklingsmiljøfiler
IDE-filer (Integrated Development Environment) er konfigurasjonsfiler, prosjektmetadata og andre filer som genereres av IDE-en din når du oppretter eller åpner et prosjekt. Disse filene er spesifikke for hver IDE. Din IDE bruker disse filene til å konfigurere prosjektinnstillingene.
Disse filene er unødvendige for å bygge eller kjøre applikasjonen din og kan ofte forårsake problemer hvis de er forpliktet til et delt Git-depot. For eksempel kan forskjellige personer i teamet ditt bruke forskjellige IDE-er eller versjoner, og å forplikte IDE-spesifikke filer kan føre til flettekonflikter og gjøre det vanskelig å samarbeide om prosjektet.
Siden disse filene er IDE-spesifikke, må filene inkluderes i din .gitignore filen vil avhenge av din IDE. Her er GitHubs .gitignore-anbefalinger for noen populære IDE-er. Du kan søke etter ønsket IDE og legge til de skisserte filene til din .gitignore fil.
4. Avhengighet og pakkefiler
Avhengighets- og pakkefiler er filer som inneholder informasjon om avhengighetene og pakkene som brukes av applikasjonen. Ulike byggeverktøy, som f.eks Node Package Manager (npm), generer disse filene.
For eksempel, hvis du bruker npm til å administrere avhengigheter for et JavaScript-prosjekt, vil det opprette en "node_modules"-mappen i prosjektets rotkatalog. Katalogen inneholder alle installerte avhengigheter for prosjektet ditt.
Denne katalogen kan bli veldig stor, spesielt hvis prosjektet ditt har mange avhengigheter eller noen avhengigheter har store filstørrelser. Ved å ekskludere "node_modules" fra Git-depotet ditt, kan du holde den ren og redusere størrelsen.
For å unngå å legge til "node_modules"-katalogen til Git-depotet ditt, legg til navnet i .gitignore-filen din:
#.gitignore
node_modules/
5. Operativsystemfiler
Operativsystemet ditt, og andre systemverktøy, kan generere filer ved normal bruk. Disse kan inkludere loggfiler, midlertidige filer og systemkonfigurasjonsfiler. Et eksempel er Thumbs.db fil på Windows og dens macOS-ekvivalent, den .DS_Store fil.
Det er generelt en god praksis å ekskludere operativsystemfiler fra Git-depotet, ettersom de er spesifikke for ditt lokale miljø og kan variere mellom forskjellige datamaskiner og drift systemer.
GitHub har anbefalt .gitignore retningslinjer for Windows, Mac os, og Linux.
Viktigheten av versjonskontroll
Bruk av versjonskontroll kan forbedre arbeidsflyten din betydelig og redusere feil og konflikter som kan oppstå når du arbeider med en kodebase. Med versjonskontroll kan du enkelt spore kodeendringer, gjennomgå dem og samarbeide sømløst med teammedlemmer.
Du bør imidlertid alltid ekskludere visse filer, for eksempel konfigurasjonsfiler, IDE-filer og OS-filer. Dette vil holde størrelsen på depotet nede og sikre at du ikke lekker sensitiv informasjon.