Fix: Gitignore fungerer ikke

GitHub har vist seg å være en ledende pioner innen kodesamarbeid og deling av depot. GitHub er først og fremst en versjonskontrollprogramvare som lar brukere kontrollere distribuert versjonskontroll og SCM (kildekodeadministrasjon). Denne plattformen brukes av store virksomheter og selskaper over hele verden.

.gitignore

Plattformer som disse har sine tekniske forhold og problemer. Et spesifikt problem som koderne opplevde var at .gitignore ikke fungerte i GitHub. Plattformen ignorerte enten .gitignore eller jobbet delvis. Det er interessant å merke seg at problemet kan være litt annerledes i hvert tilfelle, siden hvert tilfelle er et helt annet scenario. Løsningene som vi lister vil imidlertid inneholde rettelser som vil fungere universelt.

Hva er .gitignore?

Git (eller GitHub) ser alle filene i arbeidskatalogen din. Den karakteriserer hver fil som en av de tre:

  • Sporet: Disse filene er enten begått eller iscenesatt tidligere i historien.
  • Untracked: Dette er filene som ikke tidligere har blitt iscenesatt eller begått.
  • Ignorert: Dette er filene som brukeren selv ba Git om å ignorere fullstendig.

Disse ignorerte filene kan variere scenario til scenario og er stort sett maskingenererte filer eller bygge gjenstander. Dette er vanlig praksis; du kan ignorere forskjellige andre filer i henhold til dine egne behov. Noen eksempler på disse filene er:

  • Kompilert kode: Disse filene er vanligvis med utvidelsen .class, .pyc, .ccp etc.
  • Skjulte systemfiler: Dette er filer som brukes av systemet til dets operasjoner, men som er skjult for vanlig visning, for eksempel DS_Store eller Thumbs.db, etc.
  • Bygg ut kataloger: Dette er mest av katalogene til / bin, / out, etc.
  • Avhengighetsbuffer: Disse filene kan være innholdet i / node eller / pakker moduler.
  • IDE-konfigurasjonsfiler: Dette er konfigurasjonsfiler som for det meste er opprettet eller administrert av IDE-programvaren.
  • Filer generert på kjøretid: Det er noen programmer som lager filer på kjøretid. Hvis en av disse kodene kjøres, kan det hende at noen filer blir generert på kjøretid i arbeidsmappen din, og du kan ignorere dem i Git.

Uansett hvilken fil du vil ignorere, blir sporet i en spesiell fil som heter .gitignore, som for det meste er sjekket i roten til arbeidsdatabasen din. I henhold til den offisielle dokumentasjonen til GitHub om emnet, er det ingen spesifikk gitignore-kommando. I stedet må du redigere filen du vil ignorere manuelt. .Gitignore-filen inneholder mønstre som er matchet med filnavnene i arbeidsområdet ditt, og disse brukes til å bestemme om en bestemt fil skal ignoreres eller ikke.

Hva får .gitignore til å ikke virke?

.Gitignore-funksjonen fungerer kanskje perfekt, men du har kanskje ikke konfigurert den ordentlig. I alle undersøkelsene våre kom vi fram til at modulen faktisk virket. Årsaken til at kodere ikke kan bruke funksjonen er mest fordi de ikke har konfigurert filen ordentlig, eller det er noen betingelser som ikke blir oppfylt i den underliggende koden.

Her er noen løsninger som kan fungere for deg. Hver løsning kan ikke være aktuelt i ditt tilfelle, så sørg for at du bytter til den neste hvis de opprinnelige betingelsene ikke er oppfylt.

Løsning 1: Kontroller .gitignore-fil

En interessant sak kom frem der vi så at .gitignore-filen ble opprettet i feil format. Dette spesielle problemet oppstod da brukere opprettet filen ved å bruke standardapplikasjonen til Notisblokk i Windows OS. Det viser seg at Notepad skriver filen i Unicode i stedet for ANSI-format. I denne løsningen vil vi lagre endringene av Notepad i riktig format av .gitignore og se om dette løser problemet.

Merk: Du må fjerne utvidelsen av .txt fra filen når du oppretter en ny fil ved å bruke Notisblokken.

  1. Etter å ha skrevet koden eller endringene i et nytt tekstdokument i Notisblokk, klikker du på Fil og velger Lagre som .

Lagre som - Notisblokk
  1. Nå foran koding, velg ANSI . Fjern nå filtypen til .txt og lagre filen med navnet ' .gitignore '. Velg riktig katalog og lagre.

Velge ANSI som kodingstype
  1. Naviger nå til katalogen og sjekk om riktig fil er opprettet. Test den igjen med Git og se om Ignorer-funksjonen fungerer som forventet.

Utviklere bør avstå fra å bruke standard Notisblokk i Windows. I stedet bør du bruke riktig 'programmere' notisblokk. Noen eksempler inkluderer Notisblokk ++ osv. I disse vil du ikke ha problemer som disse.

Merk: Hvis filen din allerede er lagret i UNICODE-format, bør du lagre innholdet i ANSI-format riktig hvis du vil at filen skal oppdages ordentlig av Git.

Løsning 2: Kontroller filen du prøver å ignorere

En annen betingelse som .gitignore fungerer på er at filen din ikke skal være en del av depotet ennå . Dette er et veldig viktig aspekt som om dette stemmer, filen vil ikke bli ignorert da den allerede er lagt til depotet. Det kan Git ikke se bort fra, selv om du plasserer navnet eller regelen i .gitignore-filen. Så i bunn og grunn ignorerer Git bare ikke- sporede filer .

Du bør se på strukturen din (depotet) og sørge for at filen du for øyeblikket prøver å ignorere ikke legges til depotet. Hvis det er det, må du fjerne filen fra depotet, og etter at de siste endringene er begått, legger du navnet til .gitignore (du kan også kopiere innholdet i filen, og etter å ha slettet den, kopiere den med et annet navn) .

Løsning 3: Legge filer til lagringsplass på nytt

Hvis du allerede har lagt til regler i .gitignore, men filene du vil ignorere allerede er lagt til, kan vi legge til filene på nytt. Å legge til betyr at vi vil fjerne alt fra Git-indeksen og deretter legge alt tilbake til depotet ditt igjen. Når vi legger til filer igjen fra bunnen av, vil reglene bli husket som du har lagt til i .gitignore, og bare de riktige filene legges til.

Merk: Du bør ta sikkerhetskopi av koden din et annet sted også før du utfører denne løsningen. Det er alltid bra å ha en sikkerhetskopi i tilfelle.

  1. Utfør følgende kommando. Dette vil fjerne scenene og fjerne banene til filene dine fra git-indeksen på en rekursiv måte.
 git rm -r - hurtigbufret. 
  1. Etter at dette er utført, bør du utføre følgende kommando. Dette vil legge til alle filene dine tilbake, og siden .gitignore vil ha reglene, vil bare de riktige filene bli oppdatert.
 git add. 
  1. Nå vil vi forplikte alle filene dine tilbake til indeksen ved å bruke koden nedenfor:
 git commit -m ".gitignore jobber nå" 

Inspiser nå filene dine og se om problemet er løst, og du kan bruke .gitignore igjen uten problemer.

Interessante Artikler