Pataisymas: „Gitignore“ neveikia



Išbandykite Mūsų Instrumentą, Kaip Pašalinti Problemas

„GitHub“ pasirodė esanti pirmaujanti kodų bendradarbiavimo ir saugyklų dalijimosi srityje. „GitHub“ pirmiausia yra versijų valdymo programinė įranga, leidžianti vartotojams valdyti paskirstytą versijų valdymą ir SCM (šaltinio kodo valdymą). Šia platforma naudojasi pagrindinės įmonės ir įmonės visame pasaulyje.

.gitignore



Tokios platformos turi savo techninius aspektus ir problemas. Viena specifinė problema, kurią patyrė koduotojai, buvo tai, kad .gitignore neveikė „GitHub“. Platforma ignoravo .gitignore arba veikė iš dalies. Įdomu pažymėti, kad kiekvienu atveju problema gali būti šiek tiek kitokia, nes kiekvienas atvejis yra visiškai skirtingas scenarijus. Tačiau mūsų išvardintuose sprendimuose bus pataisų, kurios veiks visuotinai.



Kas yra .gitignore?

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

  • Stebima: Šie failai yra arba priskirti, arba sutvarkyti anksčiau istorijoje.
  • Nesekamas: Tai failai, kurie anksčiau nebuvo inscenizuojami ar priskirti.
  • Nepaisoma: Tai yra failai, kuriuos pats vartotojas liepė Gitui visiškai nepaisyti.

Šie ignoruojami failai gali skirtis nuo scenarijaus ir dažniausiai yra mašinoje sukurti failai arba sukurti artefaktai. Tai yra įprasta praktika; galite ignoruoti įvairius kitus failus pagal savo poreikius. Keletas šių failų pavyzdžių:

  • 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 arba Thumbs.db ir kt.
  • Kurti išvesties katalogus: Tai dažniausiai yra katalogai / bin, / out ir kt.
  • Priklausomybės talpyklos: Šie failai gali būti / node arba / paketų modulių turinys.
  • IDE konfigūracijos failai: Tai yra konfigūracijos failai, kuriuos dažniausiai sukuria arba tvarko jūsų IDE programinė įranga.
  • Vykdymo metu sugeneruoti failai: Yra keletas programų, kurios sukuria failus vykdymo metu. Jei vykdomas bet kuris iš šių kodų, kai kurie failai gali būti sugeneruoti vykdymo metu jūsų darbo aplanke ir galite jų nepaisyti „Git“.

Kuris failas, kurio norite nepaisyti, yra stebimas specialiame faile, pavadintame .gitignore, kuris dažniausiai patikrinamas jūsų darbo saugyklos šaknyje. Remiantis oficialiais „GitHub“ dokumentais šia tema, nėra jokios konkrečios „gitignore“ komandos. Vietoj to, jūs turite rankiniu būdu redaguoti failą, kurio norite nepaisyti. .Gitignore faile yra šablonų, suderintų su failų pavadinimais jūsų darbo saugykloje, ir jie naudojami siekiant nustatyti, ar konkretaus failo reikia nepaisyti, ar ne.



Kas sukelia .gitignore neveikimą?

„.Gitignore“ funkcija gali veikti puikiai, bet galbūt netinkamai sukonfigūravote. Visų savo apklausų metu priėjome išvadą, kad modulis tikrai veikia. Priežastis, kodėl koduotojai negali naudotis šia funkcija, dažniausiai yra dėl to, kad jie netinkamai sukonfigūravo failą arba yra keletas sąlygų, kurių pagrindiniame kode nėra laikomasi.

Štai keli sprendimai, kurie gali būti jums tinkami. Kiekvienas sprendimas jūsų atveju gali būti netaikomas, todėl įsitikinkite, kad perėjote prie kito, jei nesilaikoma pradinių sąlygų.

1 sprendimas: .gitignore failo tikrinimas

Įdomus atvejis paaiškėjo, kad .gitignore failas buvo sukurtas netinkamu formatu. Ši konkreti problema kilo, kai vartotojai sukūrė failą naudodami numatytąją „Notepad“ programą „Windows OS“. Pasirodo, kad „Notepad“ failą rašo „Unicode“, o ne ANSI formatu. Šiame sprendime išsaugosime „Notepad“ pakeitimus tinkamu „.gitignore“ formatu ir patikrinsime, ar tai išsprendžia problemą.

Pastaba: Turite pašalinti .txt plėtinį iš failo, kai kuriate naują failą naudodami bloknotą.

  1. Parašę kodą ar pakeitimus naujame tekstiniame dokumente „Notepad“, spustelėkite Failas ir pasirinkite Išsaugoti kaip .

Išsaugoti kaip - bloknotą

  1. Dabar priešais Kodavimas , pasirinkite ANSI . Dabar pašalinkite .txt failo plėtinį ir išsaugokite failą pavadinimu ‘ .gitignore “. Pasirinkite tinkamą katalogą ir išsaugokite.

ANSI pasirinkimas kaip kodavimo tipas

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

Kūrėjai turėtų susilaikyti nuo numatytojo „Notepad“ naudojimo sistemoje „Windows“. Vietoj to turėtumėte naudoti tinkamą „programuotojų“ bloknotą. Keletas pavyzdžių „Notepad ++“ ir t., neturėsite tokių problemų.

Pastaba: Jei jūsų failas jau yra išsaugotas UNICODE formatu, turėtumėte tinkamai išsaugoti turinį ANSI formatu, jei norite, kad „Git“ tinkamai nustatytų jūsų failą.

2 sprendimas: patikrinkite failą, kurio bandote nepaisyti

Kita sąlyga, dėl kurios veikia .gitignore, yra tai, kad jūsų failas neturėtų būti dalis kapinyno . Tai labai svarbus aspektas, nes jei tai tiesa, failas nebus ignoruojamas toks, koks yra jau pridėta į kapinyną. „Git“ negali to nepaisyti, net jei pavadinimą ar taisyklę įdėsite į .gitignore failą. Taigi iš esmės Gitas tik ignoruoja nesekytų failų .

Turėtumėte pažvelgti į savo struktūrą (saugyklą) ir įsitikinti, kad failas, kurio šiuo metu bandote nepaisyti, nėra pridėtas prie saugyklos. Jei taip, turėtumėte pašalinti failą iš saugyklos ir atlikę naujausius pakeitimus, pridėkite jo pavadinimą prie .gitignore (taip pat galite nukopijuoti failo turinį ir ištrynę jį nukopijuoti kitu vardu) .

3 sprendimas: failų pakartotinis pridėjimas į saugyklą

Jei jau pridėjote taisykles prie .gitignore, bet failai, kurių norite nepaisyti, jau pridėti, galime juos iš naujo pridėti. Pridėjimas reiškia, kad mes pašalinsime viską iš „Git“ indekso ir vėl viską vėl pridėsime į jūsų saugyklą. Kai vėl pridėsime failus nuo nulio, bus laikomasi taisyklių, kurias pridėjote .gitignore, ir pridedami tik teisingi failai.

Pastaba: Prieš atlikdami šį sprendimą, turėtumėte sukurti atsarginę kodo kopiją ir kitur. Visada gerai turėti atsarginę kopiją.

  1. Vykdykite šią komandą. Tai pašalins etapus ir rekursyviai pašalins jūsų failų kelius iš „git“ indekso.
git rm -r - talpykloje.
  1. Kai tai bus įvykdyta, turėtumėte įvykdyti šią komandą. Tai grąžins visus jūsų failus atgal, o kadangi .gitignore turės taisykles, bus atnaujinti tik teisingi failai.
git pridėti.
  1. Dabar mes grąžinsime visus jūsų failus į indeksą naudodami žemiau esantį kodą:
git įsipareigoti -m '.gitignore dabar dirba'

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

4 minutes perskaityta