Fix: Gitignore fungerar inte
GitHub har visat sig vara en ledande pionjär inom kodsamarbete och delning av förvar. GitHub är främst en versionskontrollprogramvara som tillåter användare att styra distribuerad versionskontroll och SCM (källkodshantering). Denna plattform används av stora företag och företag över hela världen.
Plattformar som dessa har sina tekniska egenskaper och problem. Ett specifikt problem som kodarna upplevde var att .gitignore inte fungerade i GitHub. Plattformen antingen ignorerade .gitignore eller arbetade delvis. Det är intressant att notera att problemet kan vara lite annorlunda i varje fall eftersom varje fall är ett helt annat scenario. Lösningarna som vi listar innehåller dock korrigeringar som fungerar allmänt.
Vad är .gitignore?
Git (eller GitHub) ser alla filer i din arbetskatalog. Det karakteriserar varje fil som en av de tre:
- Spåras: Dessa filer är antingen engagerade eller iscensatta tidigare i historien.
- Ospårad: Det här är filerna som inte tidigare har iscensatt eller begåtts.
- Ignoreras: Det här är filerna som användaren själv berättade för Git att ignorera helt.
Dessa ignorerade filer kan variera scenario till scenario och är mestadels maskingenererade filer eller bygga artefakter. Detta är vanligt förekommande; du kanske ignorerar olika andra filer enligt dina egna behov. Några exempel på dessa filer är:
- Kompilerad kod: Dessa filer är vanligtvis med tillägget .class, .pyc, .ccp etc.
- Dolda systemfiler: Det här är filer som används av systemet för dess verksamhet men är dolda från vanlig vy, till exempel DS_Store eller Thumbs.db, etc.
- Bygg utdata kataloger: Dessa är mestadels av katalogerna för / bin, / out, etc.
- Beroende cachar: Dessa filer kan vara innehållet i / nod- eller / paketmoduler.
- IDE-konfigurationsfiler: Dessa är konfigurationsfiler som oftast skapas eller hanteras av din IDE-programvara.
- Filer som genereras vid körning: Det finns några program som skapar filer vid körningstid. Om endera sådan kod körs kan vissa filer genereras vid körning i din arbetsmapp och du kan ignorera dem i Git.
Oavsett vilken fil du vill ignorera spåras i en speciell fil som heter .gitignore som oftast kontrolleras i roten till ditt arbetsförvar. Enligt den officiella dokumentationen från GitHub om ämnet finns det inget specifikt gitignore-kommando. Istället måste du manuellt redigera filen som du vill ignorera. .Gitignore-filen innehåller mönster som matchas mot filnamnen i ditt arbetsförvar och dessa används för att avgöra om en specifik fil ska ignoreras eller inte.
Vad gör att .gitignore inte fungerar?
.Gitignore-funktionen kan fungera perfekt men du kanske inte har konfigurerat den korrekt. I alla våra undersökningar kom vi fram till att modulen verkligen fungerade. Anledningen till att kodare inte kan använda funktionen beror främst på att de inte har konfigurerat filen ordentligt eller att det finns vissa villkor som inte uppfylls i den underliggande koden.
Här är några lösningar som kan fungera för dig. Varje lösning kanske inte är tillämplig i ditt fall, så se till att du byter till nästa om de ursprungliga villkoren inte är uppfyllda.
Lösning 1: Kontrollerar .gitignore-filen
Ett intressant fall framkom där vi såg att .gitignore-filen skapades i fel format. Det här problemet uppstod när användare skapade filen med standardprogrammet Notepad i Windows OS. Det visar sig att Notepad skriver filen i Unicode istället för ANSI-format. I den här lösningen kommer vi att spara ändringarna av Notepad i rätt format för .gitignore och se om detta löser problemet.
Notera: Du måste ta bort förlängningen av .txt från filen när du skapar en ny fil med hjälp av anteckningsblocket.
- När du har skrivit koden eller ändringar i ett nytt textdokument i Anteckningar klickar du på Fil och välj Spara som.
- Nu framför Kodning, Välj ANSI. Ta bort filtillägget för .txt och spara filen med namnet ‘.gitignore”. Välj rätt katalog och spara.
- Navigera nu till katalogen och kontrollera om rätt fil har skapats. Testa det igen med Git och se om Ignorera-funktionen fungerar som förväntat.
Utvecklare bör avstå från att använda standardanteckningsblocket i Windows. Istället bör du använda rätt "programmerare" anteckningsblock. Några exempel inkluderar Notepad ++ etc. I dessa kommer du inte att ha problem som dessa.
Notera: Om din fil redan är sparad i UNICODE-format bör du spara innehållet i ANSI-format ordentligt om du vill att din fil ska upptäckas ordentligt av Git.
Lösning 2: Kontrollera filen du försöker ignorera
Ett annat villkor för vilket .gitignore fungerar är att din fil inte ska vara del av förvaret ännu. Detta är en mycket viktig aspekt, som om detta är sant kommer filen inte att ignoreras som den är redan tillagd till förvaret. Git kan inte ignorera det även om du placerar dess namn eller regel i .gitignore-filen. Så i huvudsak ignorerar Git bara ospårade filer.
Du bör titta på din struktur (förvar) och se till att filen som du just nu försöker ignorera inte läggs till i förvaret. Om så är fallet måste du ta bort filen från förvaret och efter att de senaste ändringarna har gjorts, lägg till dess namn i .gitignore (du kan också kopiera innehållet i filen och efter att du har tagit bort den, replikera den med ett annat namn) .
Lösning 3: Lägga till filer igen i arkivet
Om du redan har lagt till regler i .gitignore men filerna som du vill ignorera redan har lagts till kan vi lägga till filerna igen. Att lägga till innebär att vi tar bort allt från Gits index och sedan lägger till allt tillbaka i ditt arkiv igen. När vi lägger till filer igen från grunden kommer reglerna att komma ihåg som du har lagt till i .gitignore och endast rätt filer läggs till.
Notera: Du bör också säkerhetskopiera din kod någon annanstans innan du utför den här lösningen. Det är alltid bra att ha en säkerhetskopia för alla fall.
- Utför följande kommando. Detta tar bort scenerna och tar bort sökvägarna till dina filer från gitindex på ett rekursivt sätt.
git rm -r --cached.
- När detta har körts ska du utföra följande kommando. Detta kommer att lägga till alla dina filer tillbaka och eftersom .gitignore kommer att ha reglerna kommer endast de korrekta filerna att uppdateras.
git add.
- Nu förbinder vi alla dina filer tillbaka till indexet med hjälp av koden nedan:
git commit -m ".gitignore arbetar nu"
Inspektera nu dina filer och se om problemet är löst och du kan använda .gitignore igen utan några problem.