Pataisymas: „Gitignore“ neveikia

„GitHub“ tapo viena iš pagrindinių pionierių kodo bendradarbiavimo ir dalijimosi saugyklose srityje. „GitHub“ yra pirmiausia versijų valdymo programinė įranga, leidžianti vartotojams valdyti paskirstytos versijos valdymą ir SCM (šaltinio kodo valdymas). Šia platforma naudojasi pagrindinės įmonės ir įmonės visame pasaulyje.

.gitignore

Panašios platformos turi savo techninių aspektų ir problemų. Viena specifinių problemų, su kuriomis susidūrė koderiai, buvo ta, kad .gitignore neveikė „GitHub“. Platforma arba ignoravo .gitignore, arba dirbo iš dalies. Įdomu pastebėti, kad kiekvienu atveju problema gali būti šiek tiek skirtinga, nes kiekvienas atvejis yra visiškai skirtingas scenarijus. Tačiau mūsų išvardytuose sprendimuose bus visuotinai veikiančių pataisų.

Kas yra .gitignore?

„Git“ (arba „GitHub“) mato kiekvieną failą jūsų aplanke. Tai apibūdina kiekvieną failą kaip vieną iš trijų:

  • Stebimi: šie failai yra sukurti arba sukurti anksčiau.
  • Nepažymėta: Tai failai, kurie anksčiau nebuvo išdėstyti ir neįpareigoti.
  • Nepaisoma: tai yra failai, kuriuos pats vartotojas liepė „Git“ visiškai ignoruoti.

Šie ignoruojami failai gali skirtis, atsižvelgiant į scenarijus, dažniausiai yra mašinų sukurti failai arba sukurti artefaktai. Tai yra įprasta praktika; galbūt nepaisysite įvairių kitų failų pagal savo poreikius. Keli šių failų pavyzdžiai:

  • Sudarytas kodas: Šie failai paprastai yra su plėtiniu .class, .pyc, .ccp ir kt.
  • Paslėpti sistemos failai: Tai yra failai, kuriuos sistema naudoja savo operacijoms, tačiau jie yra paslėpti nuo paprasto vaizdo, pavyzdžiui, DS_Store ar Thumbs.db ir kt.
  • Kurkite išvesties katalogus: tai daugiausia katalogai iš / bin, / out ir kt.
  • Priklausomybės talpyklos: Šie failai gali būti / mazgo arba / paketų moduliai.
  • IDE konfigūracijos failai: Tai yra konfigūracijos failai, kuriuos dažniausiai sukuria arba tvarko jūsų IDE programinė įranga.
  • Failai, sugeneruoti vykdymo metu: Yra keletas programų, kurios sukuria failus vykdymo metu. Jei kuris nors toks kodas paleistas, kai kurie failai gali būti sugeneruoti vykdymo metu jūsų darbo aplanke ir galite juos ignoruoti „Git“.

Nepriklausomai nuo to, kurį failą norite ignoruoti, jis yra stebimas specialiame faile, pavadintame .gitignore, kuris dažniausiai tikrinamas jūsų darbinės saugyklos šaknyje. Remiantis oficialia „GitHub“ dokumentacija šia tema, nėra jokios konkrečios komandos „gitignore“. Vietoj to, jūs turite rankiniu būdu redaguoti failą, kurio norite nepaisyti. .Gitignore faile yra šablonų, suderintų su failų pavadinimais, esančiais jūsų darbinėje saugykloje, ir jie naudojami nustatant, ar reikia nepaisyti konkretaus failo, ar ne.

Kas lemia .gitignore neveikimą?

Gali būti, kad .gitignore funkcija veikia nepriekaištingai, tačiau galbūt netinkamai ją sukonfigūravote. Atlikdami visas apklausas padarėme išvadą, kad modulis iš tikrųjų veikia. Koderiai negali naudotis šia funkcija dažniausiai dėl to, kad netinkamai sukonfigūravo failą arba yra keletas sąlygų, kurių pagrindiniame kode nėra laikomasi.

Čia pateikiami keli sprendimai, kurie gali būti jums naudingi. Kiekvienas sprendimas gali būti netaikomas jūsų atveju, todėl įsitikinkite, kad perėjote prie kito, jei nesilaikysite pradinių sąlygų.

1 sprendimas: patikrinkite .gitignore failą

Įvyko įdomus atvejis, kai pamatėme, kad .gitignore failas buvo sukurtas netinkamu formatu. Ši problema kilo, kai vartotojai sukūrė failą naudodami numatytąją „Notepad“ programą „Windows“ operacinėje sistemoje. Pasirodo, „Notepad“ failą rašo „Unicode“, o ne ANSI formatu. Šiame sprendime įrašysime „Notepad“ pakeitimus tinkamu .gitignore formatu ir išsiaiškinsime, ar tai pašalina problemą.

Pastaba: kurdami naują failą naudodami užrašų knygą, turite pašalinti .txt plėtinį iš failo.

  1. Parašę kodą arba pakeitimus naujame tekstiniame dokumente „Notepad“, spustelėkite failą ir pasirinkite Įrašyti kaip .

Išsaugoti kaip - užrašų knygelė
  1. Dabar prieš kodavimą pasirinkite ANSI . Dabar pašalinkite .txt failo plėtinį ir išsaugokite failą pavadinimu ' .gitignore '. Pasirinkite tinkamą katalogą ir išsaugokite.

Pasirinkus ANSI kaip kodavimo tipą
  1. Dabar eikite į katalogą ir patikrinkite, ar sukurtas teisingas failas. Dabar išbandykite dar kartą naudodami „Git“ ir pažiūrėkite, ar funkcija „Ignoruoti“ veikia taip, kaip tikėtasi.

Kūrėjai turėtų susilaikyti nuo „Windows“ numatytojo „Notepad“ naudojimo. Vietoj to turėtumėte naudoti tinkamą „programuotojų“ bloknotą. Kai kurie pavyzdžiai yra „Notepad ++“ ir tt. Tuose neturėsite tokių problemų kaip šie.

Pastaba: jei jūsų failas jau yra išsaugotas UNICODE formatu, turėtumėte tinkamai išsaugoti ANSI formato turinį, jei norite, kad jūsų failas būtų tinkamai aptiktas „Git“.

2 sprendimas: patikrinkite failą, kurį bandote ignoruoti

Kita .gitignore darbo sąlyga yra ta, kad failas dar neturėtų būti saugyklos dalis . Tai labai svarbus aspektas, nes jei tai tiesa, failas nebus ignoruojamas, nes jis jau pridėtas prie saugyklos. „Git“ negali to ignoruoti, net jei įdėsite jos pavadinimą ar taisyklę į .gitignore failą. Taigi iš esmės „Git“ ignoruoja tik neapžiūrėtus failus .

Turėtumėte peržvelgti savo struktūrą (saugyklą) ir įsitikinti, kad failas, kurio šiuo metu bandote nepaisyti, nebus pridėtas prie saugyklos. Jei taip yra, jūs turėtumėte pašalinti failą iš saugyklos ir atlikę paskutinius pakeitimus pridėti jo pavadinimą į .gitignore (taip pat galite nukopijuoti failo turinį, o jį ištrynę, pakartokite jį kitu pavadinimu). .

3 sprendimas: iš naujo pridėkite failus į saugyklą

Jei jau pridėjote taisykles į .gitignore, bet failai, kurių norite nepaisyti, jau yra įtraukti, galime failus pridėti iš naujo. Pridėjimas reiškia, kad mes pašalinsime viską iš „Git“ rodyklės ir vėl viską įtrauksime į savo saugyklą. Kai vėl pridėsime failus nuo nulio, bus atsimenamos taisyklės, kurias pridėjote .gitignore, ir pridedami tik teisingi failai.

Pastaba: prieš atlikdami šį sprendimą, turėtumėte sukurti atsarginę kodo kopiją kur nors kitur. Visada naudinga turėti atsarginę kopiją.

  1. Vykdykite šią komandą. Tai atstatys ir rekursyviai pašalins kelius į failus iš „Git“ rodyklės.
 git rm -r - įkalta. 
  1. Po to, kai tai bus vykdoma, turėtumėte vykdyti šią komandą. Tai pridės visus failus ir, kadangi .gitignore turės taisykles, bus atnaujinti tik teisingi failai.
 git pridėti. 
  1. Dabar visus jūsų failus sugrąžinsime į rodyklę naudodami žemiau pateiktą kodą:
 git commit -m ".gitignore dabar dirba" 

Dabar patikrinkite savo failus ir pažiūrėkite, ar problema išspręsta, ir jūs galite vėl naudoti .gitignore be jokių problemų.

Įdomios Straipsniai