Fix: Gitignore fungerar inte

GitHub har blivit 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 de filer som inte tidigare iscensatt eller begåtts.
  • Ignorerad: Det här är filerna som användaren själv sa till 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 efter 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: Dessa ä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 vissa program som skapar filer vid körningstid. Om någon av dessa koder körs kan vissa filer genereras vid körning i din arbetsmapp och du kan ignorera dem i Git.

Vilken fil du vill ignorera spåras i en speciell fil med namnet .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 ordentligt. I alla våra undersökningar kom vi fram till att modulen verkligen fungerade. Anledningen till att kodare inte kan använda funktionen är främst för att de inte har konfigurerat filen ordentligt eller om 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.

Obs! 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.

  1. Efter att ha skrivit koden eller ändringar i ett nytt textdokument i Anteckningar klickar du på Arkiv och väljer Spara som .
  1. Nu framför kodning väljer du ANSI . Ta bort filtillägget för .txt och spara filen med namnet ' .gitignore '. Välj rätt katalog och spara.
  1. 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.

Obs! 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 korrekt 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 en del av förvaret ännu . Detta är en mycket viktig aspekt, som om detta är sant kommer filen inte att ignoreras eftersom den redan har lagts till i förvaret. Git kan inte ignorera det även om du placerar dess namn eller regel i .gitignore-filen. Så i grund och botten ignorerar Git bara spå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 betyder 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.

Obs! 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.

  1. Utför följande kommando. Detta tar bort scenerna och tar bort sökvägarna till dina filer från git-indexet på ett rekursivt sätt.
git rm -r --cached.
  1. 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.
  1. 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 problem.

Rekommenderas

Fix: Minecraft svarar inte
Vad är en ansökan om registrering av digital-TV-mottagare och bör den tas bort?
Vad är FileRepMalware och ska du ta bort det