Popravak: Gitignore ne radi

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.

Platforme poput ove imaju svoje tehničke značajke i probleme. Poseban 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 u svakom slučaju mogao biti malo drugačiji 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:

  • Prati se: Te su datoteke ili počinjene ili uprizorene u povijesti.
  • Bez praćenja: To su datoteke koje prethodno nisu postavljene ili uređene.
  • Zanemarene: To su datoteke koje je sam korisnik rekao Gitu da ih potpuno 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.
  • Izgradite izlazne direktorije: 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 koja se naziva .gitignore, a 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 određ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 zbog kojeg 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.

Napomena: 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 Notepadu, kliknite na File i odaberite Save As .
  1. Sada ispred Kodiranje , odaberite ANSI . Sada uklonite nastavak datoteke .txt i spremite datoteku s imenom ' .gitignore '. Odaberite ispravni direktorij i spremite.
  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 koristiti odgovarajuću bilježnicu 'programera'. Neki primjeri uključuju Notepad ++ itd. U njima nećete imati problema poput ovih.

Napomena: 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

Još jedan uvjet pod kojim .gitignore radi je da vaša datoteka još uvijek ne bude dio spremišta . Ovo je vrlo bitan aspekt, jer ako je to istina, datoteka se neće zanemariti jer je već dodana u spremište. Git to ne može zanemariti čak i ako njegovo ime ili pravilo smjestite u datoteku .gitignore. Dakle, u osnovi, 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 Git-ovog 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.

Napomena: 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.

Preporučeno

Popravak: Minecraft ne reagira
Što je aplikacija za registraciju uređaja za digitalni TV tuner i treba li je ukloniti?
Što je FileRepMalware i biste li ga trebali ukloniti