Popravak: Gitignore ne radi



Isprobajte Naš Instrument Za Uklanjanje Problema

GitHub se pokazao vodećim pionirom na polju suradnje s kodovima i dijeljenja spremišta. GitHub je prvenstveno softver za kontrolu verzija koji omogućava korisnicima kontrolu nad distribuiranom kontrolom verzija i SCM (upravljanje izvornim kodom). Ovu platformu koriste velika poduzeća i tvrtke širom svijeta.



.gitignore



Platforme poput ove imaju svoje tehničke značajke i probleme. Specifični problem s kojim su se koderi suočili bio je taj što .gitignore nije radio u GitHubu. Platforma je ili ignorirala .gitignore ili je djelomično radila. Zanimljivo je primijetiti da bi problem mogao biti malo drugačiji u svakom slučaju jer je svaki slučaj potpuno drugačiji scenarij. Međutim, rješenja koja navodimo sadržavat će ispravke koji će funkcionirati univerzalno.



Što je .gitignore?

Git (ili GitHub) vidi svaku datoteku u vašem radnom direktoriju. Karakterizira svaku datoteku kao jednu od tri:

  • Praćeno: Te su datoteke ili počinjene ili postavljene ranije u povijesti.
  • Bez praćenja: To su datoteke koje prethodno nisu postavljene ili uređene.
  • Zanemareno: To su datoteke koje je sam korisnik rekao Gitu da u potpunosti ignorira.

Ove zanemarene datoteke mogu se razlikovati od scenarija do scenarija i uglavnom su datoteke koje generiraju strojevi ili grade artefakte. To je uobičajena praksa; možda ignorirate razne druge datoteke prema vlastitim potrebama. Neki primjeri ovih datoteka su:

  • Sastavljeni kod: Te su datoteke obično s nastavkom .class, .pyc, .ccp itd.
  • Skrivene sistemske datoteke: To su datoteke koje sustav koristi za svoje operacije, ali su skrivene od običnog pogleda, na primjer, DS_Store ili Thumbs.db itd.
  • Izrada izlaznih direktorija: To su uglavnom direktoriji / bin, / out, itd.
  • Predmemorije ovisnosti: Te datoteke mogu sadržavati / node ili / package module.
  • IDE konfiguracijske datoteke: To su konfiguracijske datoteke koje uglavnom stvara ili njima upravlja vaš IDE softver.
  • Datoteke generirane u vrijeme izvođenja: Postoje neki programi koji stvaraju datoteke u vrijeme izvođenja. Ako se pokrene bilo koji takav kôd, neke se datoteke mogu generirati tijekom izvođenja u vašoj radnoj mapi, a možete ih zanemariti u Gitu.

Koju god datoteku želite ignorirati, prati se u posebnoj datoteci nazvanoj .gitignore koja se uglavnom provjerava u korijenu vašeg radnog spremišta. Prema službenoj dokumentaciji GitHub-a na tu temu, ne postoji posebna gitignore naredba. Umjesto toga, morate ručno urediti datoteku koju želite zanemariti. Datoteka .gitignore sadrži uzorke koji se podudaraju s imenima datoteka u vašem radnom spremištu i oni se koriste za utvrđivanje treba li određenu datoteku zanemariti ili ne.



Što uzrokuje da .gitignore ne radi?

Značajka .gitignore možda savršeno radi, ali možda je niste pravilno konfigurirali. U svim našim anketama došli smo do zaključka da modul zaista radi. Razlog zašto koderi ne mogu koristiti značajku uglavnom je zato što nisu pravilno konfigurirali datoteku ili postoje neki uvjeti koji nisu ispunjeni u temeljnom kodu.

Evo nekoliko rješenja koja bi mogla raditi za vas. Svako rješenje možda nije primjenjivo u vašem slučaju, zato prijeđite na sljedeće ako početni uvjeti nisu zadovoljeni.

Rješenje 1: Provjera datoteke .gitignore

Pojavio se zanimljiv slučaj gdje smo vidjeli da je datoteka .gitignore stvorena u pogrešnom formatu. Do ovog posebnog problema došlo je kada su korisnici stvorili datoteku pomoću zadane aplikacije Notepad u OS Windows. Ispada da Notepad zapisuje datoteku u Unicode umjesto u ANSI formatu. U ovom ćemo rješenju spremiti promjene programa Notepad u ispravan format .gitignore i vidjeti hoće li to riješiti problem.

Bilješka: Prilikom izrade nove datoteke pomoću programa Notepad morate iz datoteke ukloniti nastavak .txt.

  1. Nakon pisanja koda ili promjena u novom tekstualnom dokumentu u Bilježnici, kliknite na Datoteka i odaberite Spremi kao .

Spremi kao - Notepad

  1. Sada ispred Kodiranje , Odaberi ANSI . Sada uklonite ekstenziju datoteke .txt i spremite datoteku s imenom ' .gitignore ’. Odaberite ispravni direktorij i spremite.

Odabir ANSI kao vrste kodiranja

  1. Sada se pomaknite do direktorija i provjerite je li stvorena ispravna datoteka. Sada ga ponovo testirajte s Gitom i provjerite radi li značajka Ignoriraj prema očekivanjima.

Programeri bi se trebali suzdržati od korištenja zadane Bilježnice u sustavu Windows. Umjesto toga, trebali biste upotrijebiti odgovarajuću bilježnicu 'programera'. Neki primjeri uključuju Notepad ++ itd. U tim nećete imati problema poput ovih.

Bilješka: Ako je vaša datoteka već spremljena u UNICODE formatu, trebali biste pravilno spremiti sadržaj u ANSI format ako želite da Git pravilno prepozna vašu datoteku.

Rješenje 2: Provjera datoteke koju pokušavate zanemariti

Drugi uvjet pod kojim .gitignore radi je da vaša datoteka ne smije biti dio spremišta još . Ovo je vrlo bitan aspekt, jer ako je to istina, datoteka se neće ignorirati takva kakva jest već dodano u spremište. Git to ne može zanemariti čak i ako njegovo ime ili pravilo smjestite u datoteku .gitignore. Dakle, u biti, Git samo ignorira nepraćene datoteke .

Trebali biste pogledati svoju strukturu (spremište) i osigurati da datoteka koju trenutno pokušavate zanemariti nije dodana u spremište. Ako jest, datoteku ćete morati ukloniti iz spremišta, a nakon što se izvrše najnovije promjene, dodajte njezino ime u .gitignore (također možete kopirati sadržaj datoteke i nakon brisanja replicirati je s drugim imenom) .

Rješenje 3: Ponovno dodavanje datoteka u spremište

Ako ste već dodali pravila u .gitignore, ali datoteke koje želite ignorirati već su dodane, možemo ih ponovno dodati. Dodavanje znači da ćemo ukloniti sve iz Gitovog indeksa, a zatim sve ponovo dodati u vaše spremište. Kad ponovo dodamo datoteke ispočetka, imaće se na umu pravila koja ste dodali u .gitignore i dodaju se samo ispravne datoteke.

Bilješka: Prije izvođenja ovog rješenja trebali biste napraviti sigurnosnu kopiju koda. Uvijek je dobro imati sigurnosnu kopiju za svaki slučaj.

  1. Izvršite sljedeću naredbu. To će nestati i ukloniti staze do vaših datoteka iz git indeksa na rekurzivan način.
git rm -r --cached.
  1. Nakon što se ovo izvrši, trebali biste izvršiti sljedeću naredbu. To će dodati sve vaše datoteke natrag, a budući da će .gitignore imati pravila, ažurirat će se samo ispravne datoteke.
git dodaj.
  1. Sada ćemo sve vaše datoteke vratiti u indeks pomoću donjeg koda:
git commit -m '.gitignore sada radi'

Sada pregledajte svoje datoteke i provjerite je li problem riješen te možete li ponovo koristiti .gitignore bez ikakvih problema.

4 minute čitanja