Pataisymas: „Gitignore“ neveikia

„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.

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 išdėstyti anksčiau istorijoje.
  • Neatsekamas: tai failai, kurie anksčiau nebuvo pastatyti ar priskirti.
  • Nepaisyta: 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 failai, kuriuos sistema naudoja savo operacijoms, bet 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 konfigūracijos failai, kuriuos dažniausiai sukuria arba valdo jūsų IDE programinė įranga.
  • Failai, sugeneruoti vykdymo metu: 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 šablonai, suderinti 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 todėl, 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 į naują tekstinį dokumentą „Notepad“, spustelėkite Failas ir pasirinkite Išsaugoti kaip .
  1. Dabar, priešais kodavimą , pasirinkite ANSI . Dabar pašalinkite .txt failo plėtinį ir išsaugokite failą pavadinimu „ .gitignore “. Pasirinkite tinkamą katalogą ir išsaugokite.
  1. Dabar eikite į katalogą ir patikrinkite, ar sukurtas teisingas failas. Dabar išbandykite dar kartą naudodami „Git“ ir pažiūrėkite, ar Ignoravimo 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ą. Kai kurie pavyzdžiai apima „Notepad ++“ ir kt. Juose neturėsite panašių 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 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 nepaisyti, net jei pavadinimą ar taisyklę įdėsite į .gitignore failą. Taigi iš esmės „Git“ nepaiso tik nestebimų 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 į savo 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ą kur nors 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 patikrinkite, ar problema išspręsta, ir vėl galite naudoti .gitignore be jokių problemų.