Fix: Gitignore fungerer ikke
GitHub har vist sig at være en førende pioner inden for kodesamarbejde og deling af lager. GitHub er primært en versionskontrolsoftware, der giver brugerne kontrol over distribueret versionskontrol og SCM (kildekodestyring). Denne platform bruges af større virksomheder og virksomheder over hele verden.
Platforme som disse har deres tekniske egenskaber og problemer. Et specifikt problem, som koderne oplevede, var, at .gitignore ikke fungerede i GitHub. Platformen ignorerede enten .gitignore eller arbejdede delvist. Det er interessant at bemærke, at problemet kan være lidt anderledes i hvert tilfælde, da hvert tilfælde er et helt andet scenario. De løsninger, som vi opregner, indeholder imidlertid rettelser, der fungerer universelt.
Hvad er .gitignore?
Git (eller GitHub) ser alle filer i din arbejdsmappe. Det karakteriserer hver fil som en af de tre:
- Sporet: Disse filer er enten begået eller iscenesat tidligere i historien.
- Usporet: Dette er de filer, der ikke tidligere er iscenesat eller begået.
- Ignoreret: Dette er de filer, som brugeren selv bad Git om at ignorere fuldstændigt.
Disse ignorerede filer kan variere fra scenarie til scenario og er for det meste maskingenererede filer eller bygge artefakter. Dette er den almindelige praksis; du ignorerer muligvis forskellige andre filer i henhold til dine egne behov. Nogle eksempler på disse filer er:
- Kompileret kode: Disse filer er normalt med filtypen .class, .pyc, .ccp osv.
- Skjulte systemfiler: Dette er filer, der bruges af systemet til dets operationer, men er skjult for almindelig visning, for eksempel DS_Store eller Thumbs.db osv.
- Byg outputmapper: Disse er for det meste af telefonbøgerne til / bin, / out osv.
- Afhængighedscacher: Disse filer kan være indholdet af / node eller / pakkemoduler.
- IDE-konfigurationsfiler: Disse er konfigurationsfiler, der for det meste oprettes eller administreres af din IDE-software.
- Filer genereret ved kørsel: Der er nogle programmer, der opretter filer på kørselstid. Hvis en sådan kode køres, kan der genereres nogle filer ved kørselstid i din arbejdsmappe, og du ignorerer dem muligvis i Git.
Uanset hvilken fil du vil ignorere, spores den i en speciel fil, der hedder .gitignore, som for det meste kontrolleres i roden til dit arbejdsregister. Ifølge den officielle dokumentation fra GitHub om emnet er der ingen specifik gitignore-kommando. I stedet skal du manuelt redigere den fil, som du vil ignorere. .Gitignore-filen indeholder mønstre, der matches med filnavne i dit arbejdsområde, og disse bruges til at afgøre, om en bestemt fil skal ignoreres eller ej.
Hvad får .gitignore til ikke at arbejde?
.Gitignore-funktionen fungerer muligvis perfekt, men du har muligvis ikke konfigureret den korrekt. I alle vores undersøgelser kom vi til den konklusion, at modulet faktisk virkede. Årsagen til, at kodere ikke kan bruge funktionen, er for det meste, fordi de ikke har konfigureret filen korrekt, eller der er nogle betingelser, der ikke er opfyldt i den underliggende kode.
Her er nogle løsninger, der kan fungere for dig. Hver løsning er muligvis ikke anvendelig i dit tilfælde, så sørg for at skifte til den næste, hvis de indledende betingelser ikke er opfyldt.
Løsning 1: Kontrol af .gitignore-fil
En interessant sag kom frem, hvor vi så, at .gitignore-filen blev oprettet i det forkerte format. Dette særlige problem opstod, da brugere oprettede filen ved hjælp af standardapplikationen Notepad i Windows OS. Det viser sig, at Notepad skriver filen i Unicode i stedet for ANSI-format. I denne løsning gemmer vi ændringerne af Notepad i det rigtige format af .gitignore og ser, om dette løser problemet.
Bemærk: Du skal fjerne udvidelsen af .txt fra filen, når du opretter en ny fil ved hjælp af Notesblok.
- Efter at have skrevet koden eller ændringer i et nyt tekstdokument i Notesblok, skal du klikke på Fil og vælg Gem som.
- Nu foran Indkodning, Vælg ANSI. Fjern nu filtypenavnet .txt, og gem filen med navnet '.gitignore'. Vælg det korrekte bibliotek, og gem.
- Gå nu til biblioteket, og kontroller, om den korrekte fil oprettes. Test det igen med Git og se om Ignorer-funktionen fungerer som forventet.
Udviklere bør undlade at bruge standard notesblok i Windows. I stedet skal du bruge de rigtige 'programmører' notesblokke. Nogle eksempler inkluderer Notepad ++ osv. I dem har du ikke problemer som disse.
Bemærk: Hvis din fil allerede er gemt i UNICODE-format, skal du gemme indholdet i ANSI-format korrekt, hvis du vil have din fil til at blive registreret korrekt af Git.
Løsning 2: Kontrol af den fil, du prøver at ignorere
En anden betingelse for, at .gitignore fungerer, er at din fil ikke skal være del af arkivet endnu. Dette er et meget vigtigt aspekt, som hvis dette er sandt, ignoreres filen ikke, som den er allerede tilføjet til arkivet. Git kan ikke ignorere det, selvom du placerer dets navn eller regel i .gitignore-filen. Så i det væsentlige ignorerer Git kun usporede filer.
Du skal se på din struktur (lager) og sørge for, at den fil, som du i øjeblikket prøver at ignorere, ikke føjes til lageret. Hvis det er tilfældet, skal du fjerne filen fra arkivet, og når de seneste ændringer er begået, skal du føje dens navn til .gitignore (du kan også kopiere indholdet af filen, og efter at du har slettet den, replikere den med et andet navn) .
Løsning 3: Føj filer igen til lageret
Hvis du allerede har tilføjet regler til .gitignore, men de filer, du vil ignorere, allerede er tilføjet, kan vi tilføje filerne igen. Tilføjelse betyder, at vi fjerner alt fra Gits indeks og derefter tilføjer alt tilbage til dit arkiv igen. Når vi tilføjer filer igen fra bunden, holdes reglerne i tankerne, som du har tilføjet i .gitignore, og kun de korrekte filer tilføjes.
Bemærk: Du skal også sikkerhedskopiere din kode et andet sted, før du udfører denne løsning. Det er altid godt at have en sikkerhedskopi bare i tilfælde af.
- Udfør følgende kommando. Dette vil fjerne scenerne og fjerne stierne til dine filer fra git-indekset på en rekursiv måde.
git rm -r --cached.
- Når dette er udført, skal du udføre følgende kommando. Dette tilføjer alle dine filer tilbage, og da .gitignore har reglerne, opdateres kun de korrekte filer.
git add.
- Nu forpligter vi alle dine filer tilbage til indekset ved hjælp af nedenstående kode:
git commit -m ".gitignore arbejder nu"
Undersøg nu dine filer og se om problemet er løst, og du kan bruge .gitignore igen uden problemer.