Alla filer i ditt projekt bör inte vara versionskontrollerade. Ta reda på vilka typer av filer du bör utesluta från din källrepo.
Versionskontroll är ett viktigt verktyg för att spåra ändringar i din kodbas, men du vill inte alltid spåra varje fil.
För att undvika röran och minska risken för att distribuera känslig information kan du använda en fil som heter .gitignore. Den här filen specificerar vilka filer och kataloger Git inte ska indexera.
Att bestämma vilka filer som ska inkluderas i .gitignore kan vara en utmaning, särskilt om du är ny på utveckling. Ta reda på vilka filer du bör lägga till i din .gitignore för ett smidigare Git-arbetsflöde.
Skapa en .gitignore-fil
För att din .gitignore-fil ska ha någon effekt måste du ha Git initialiserad i ditt projekt.
Du kan initiera Git genom att köra kommandot nedan i din terminal:
git init
Det här kommandot skapar ett nytt Git-förråd för ditt projekt, i en dold ".git"-underkatalog som innehåller alla filer och kataloger det behöver för att versionskontrollera ditt projekt.
För att köra detta kommando måste du ha Git installerat i ditt system.
Skapa sedan din .gitignore-fil genom att köra kommandot nedan:
Rör.gitignore
Genom att köra kommandot ovan skapas en ny fil, ".gitignore" i din nuvarande katalog. Du kan utesluta en fil från Git genom att lägga till filnamnet eller sökvägen (om filen finns i en annan katalog än .gitignore fil).
Git behöver inte spåra alla filer i ditt projekt, och spårning av vissa filer kan leda till oförutsedda problem. Det här är några av filerna du bör lägga till i din .gitignore.
1. Konfigurationsfiler
Konfigurationsfiler lagrar inställningar och andra parametrar som dina applikationer använder för att definiera och anpassa sitt beteende. Dessa filer lagrar ofta databasanslutningssträngar, API-nycklar och annan känslig information som du inte bör exponera i ditt Git-förråd.
Om du inkluderar konfigurationsfiler i ditt arkiv kan alla som kan komma åt det se deras innehåll. Det kan inkludera känslig information, vilket kan leda till säkerhetsintrång och andra problem.
För att utesluta konfigurationsfiler från ditt Git-förråd, lägg till specifika filnamn eller mappnamn till din .gitignore fil.
Du kan till exempel lägga till raden nedan i din .gitignore fil för att ignorera en .env fil.
.env
2. Bygg artefakter
Byggartefakter är de kompilerade eller genererade filerna som skapas när du bygger ditt projekt. Dessa filer lever vanligtvis i en "mål" eller "bygga" katalog.
Byggartefakter kan inkludera kompilerade Java-klasser, JAR-filer, WAR-filer, binära filer, distributionspaket, rapporter, loggfiler och annat som genereras under byggprocessen.
Det är generellt sett en bra praxis att utesluta byggartefakter från ditt Git-förråd eftersom de kan vara mycket stora. De kan också vara mindre bärbara än dina källfiler, bara relevanta för en specifik miljö. Om du inkluderar dem i ditt förvar kan du svälla upp storleken på ditt förråd och göra det långsammare att klona och arbeta med.
För att utesluta byggartefakter från ditt Git-förråd, lägg till "mål/" eller "bygga/" katalog till din .gitignore fil.
Till exempel:
# .gitignore
mål/
bygga/
3. Integrerade utvecklingsmiljöfiler
Integrated Development Environment-filer (IDE) är konfigurationsfiler, projektmetadata och andra filer som genereras av din IDE när du skapar eller öppnar ett projekt. Dessa filer är specifika för varje IDE. Din IDE använder dessa filer för att konfigurera projektinställningarna.
Dessa filer är onödiga för att bygga eller köra din applikation och kan ofta orsaka problem om de är anslutna till ett delat Git-förråd. Till exempel kan olika personer i ditt team använda olika IDE: er eller versioner, och att begå IDE-specifika filer kan orsaka sammanslagningskonflikter och göra det svårt att samarbeta i projektet.
Eftersom dessa filer är IDE-specifika, ska filerna inkluderas i din .gitignore filen beror på din IDE. Här är GitHubs .gitignore-rekommendationer för några populära IDE: er. Du kan söka efter din valda IDE och lägga till de skisserade filerna till din .gitignore fil.
4. Beroende- och paketfiler
Beroende- och paketfiler är filer som innehåller information om beroenden och paket som används av din applikation. Olika byggverktyg, som t.ex Node Package Manager (npm), generera dessa filer.
Till exempel, om du använder npm för att hantera beroenden för ett JavaScript-projekt, kommer det att skapa en "node_modules" i ditt projekts rotkatalog. Katalogen innehåller alla installerade beroenden för ditt projekt.
Denna katalog kan bli mycket stor, speciellt om ditt projekt har många beroenden eller om vissa beroenden har stora filstorlekar. Genom att utesluta "node_modules" från ditt Git-förråd kan du hålla den ren och minska storleken.
För att undvika att lägga till "node_modules"-katalogen till ditt Git-förråd, lägg till dess namn i din .gitignore-fil:
#.gitignore
node_modules/
5. Operativsystemfiler
Ditt operativsystem och andra systemverktyg kan generera filer genom normal användning. Dessa kan inkludera loggfiler, temporära filer och systemkonfigurationsfiler. Ett exempel är Thumbs.db fil på Windows och dess macOS-motsvarighet, den .DS_Store fil.
Det är i allmänhet en bra praxis att utesluta operativsystemfiler från ditt Git-förråd, eftersom de är specifika för din lokala miljö och kan skilja sig åt mellan olika datorer och drift system.
GitHub har rekommenderat .gitignore-riktlinjer för Windows, Mac OS, och Linux.
Betydelsen av versionskontroll
Att använda versionskontroll kan avsevärt förbättra ditt arbetsflöde och minska fel och konflikter som kan uppstå när du arbetar på en kodbas. Med versionskontroll kan du enkelt spåra kodändringar, granska dem och sömlöst samarbeta med teammedlemmar.
Du bör dock alltid utesluta vissa filer, såsom konfigurationsfiler, IDE-filer och OS-filer. Detta kommer att hålla storleken på ditt förvar nere och säkerställa att du inte läcker känslig information.