Popravak: Gitignore ne radi

GitHub se pokazao vodećim pionirom na polju suradnje s kodovima i dijeljenja spremišta. GitHub je prije svega softver za nadzor verzija koji korisnicima omogućuje kontrolu distribuirane kontrole verzija i SCM-a (upravljanje izvornim kodom). Ovu platformu koriste velike tvrtke i tvrtke širom svijeta.

.gitignore

Platforme poput ove imaju svoje tehničke karakteristike i probleme. Jedan specifični problem koji su koderi doživjeli bio je taj .gitignore ne radi u GitHub-u. Platforma je ili ignorirala .gitignore ili djelomično radila. Zanimljivo je napomenuti 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 ćemo nabrojati sadržavat će ispravke koji će djelovati univerzalno.

Što je .gitignore?

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

  • Gledano: Ove su datoteke ili u povijesti ili u početku ili u fazi snimanja.
  • Untracked: Ovo su datoteke koje nisu prethodno inscenirane ili počinjene.
  • Zanemareno: Ovo su datoteke koje je i sam korisnik rekao Gitu da ih potpuno zanemari.

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

  • Sastavljeni kod: Ove su datoteke obično s ekstenzijama .class, .pyc, .ccp itd.
  • Skrivene sistemske datoteke: Ovo su datoteke koje sustav koristi za svoje operacije, ali su skrivene od običnog prikaza, na primjer, DS_Store ili Thumbs.db itd.
  • Napravite izlazne mape: To su uglavnom direktoriji / bin, / out, itd.
  • Keše ovisnosti: Ove datoteke mogu biti sadržaj modula / čvora ili / paketa.
  • IDE konfiguracijske datoteke: Ovo su konfiguracijske datoteke koje uglavnom kreira ili upravlja vaš IDE softver.
  • Datoteke generirane za vrijeme izvršavanja: Postoje neki programi koji stvaraju datoteke u vrijeme izvođenja. Ako se pokrene bilo koji takav kôd, neke datoteke mogu se generirati u vrijeme rada u vašoj radnoj mapi i mogle biste ih ignorirati u Git-u.

Bez obzira na to koju datoteku želite zanemariti, 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 određena naredba gitignore. Umjesto toga, morate ručno urediti datoteku koju želite zanemariti. Datoteka .gitignore sadrži obrasce koji se podudaraju s nazivima datoteka u vašem radnom spremištu i koriste se za određivanje treba li ignorirati određenu datoteku ili ne.

Što uzrokuje .gitignore ne djeluje?

Značajka .gitignore možda funkcionira savršeno, ali možda je niste pravilno konfigurirali. U svim našim istraživanjima došli smo do zaključka da modul doista funkcionira. Razlog zbog kojeg koderi ne mogu koristiti značajku je uglavnom zato što nisu ispravno konfigurirali datoteku ili postoje neki uvjeti koji u osnovnom kodu nisu ispunjeni.

Evo nekoliko rješenja koja bi mogla raditi za vas. Svako rješenje možda nije primjenjivo u vašem slučaju, pa se obavezno prebacite na sljedeće ako početni uvjeti nisu ispunjeni.

1. rješenje: Provjera .gitignore datoteke

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

Napomena: Kad kreirate novu datoteku pomoću bilježnice, morate ukloniti ekstenziju .txt iz datoteke.

  1. Nakon što napišete kod ili promijenite novi tekstualni dokument u Notepad, kliknite na File i odaberite Save As .

Spremi kao - bilježnica
  1. Sada ispred Encoding odaberite ANSI . Sada uklonite datotečni nastavak .txt i spremite datoteku s imenom ' .gitignore '. Odaberite ispravnu mapu i spremite.

Odabir ANSI-a kao vrste kodiranja
  1. Sada idite do direktorija i provjerite je li stvorena ispravna datoteka. Sada ga ponovo testirajte pomoću Gita i provjerite radi li značajka Ignore kako ste očekivali.

Programeri bi se trebali suzdržati od korištenja zadanih bilježnica u sustavu Windows. Umjesto toga, trebali biste koristiti odgovarajuće bilježnice 'programera'. Neki primjeri uključuju Notepad ++ itd. Kod njih 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 formatu ako želite da Git ispravno prepozna vašu datoteku.

2. rješenje: Provjera datoteke koju želite zanemariti

Drugi uvjet na kojem .gitignore djeluje je da vaša datoteka još ne bi trebala biti 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 ni ako svoje ime ili pravilo postavite u .gitignore datoteku. Dakle, u osnovi, Git ignorira samo neprovjerene datoteke .

Trebali biste pogledati vašu strukturu (skladište) i uvjeriti se da datoteka koju trenutno pokušavate zanemariti nije dodana u spremište. Ako jest, datoteku biste morali ukloniti iz spremišta i nakon što se izvrše najnovije izmjene, njeno ime dodajte u .gitignore (sadržaj možete kopirati i nakon brisanja, kopirati s drugim imenom),

3. rješenje: Ponovno dodavanje datoteka u spremište

Ako ste pravila već dodali u .gitignore, ali datoteke koje želite ignorirati već su dodane, datoteke možemo 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, pripazit će na pravila koja ste dodali u .gitignore i dodali su samo ispravne datoteke.

Napomena: Podržite sigurnosnu kopiju kôda negdje drugo prije izvođenja ovog rješenja. Uvijek je dobro imati sigurnosnu kopiju za svaki slučaj.

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

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

Zanimljivi Članci