Remediere: Gitignore nu funcționează

GitHub s-a dovedit a fi un pionier de frunte în domeniul colaborării codului și al partajării depozitelor. GitHub este în principal un software de control al versiunilor care permite utilizatorilor să controleze controlul versiunii distribuite și SCM (gestionarea codului sursă). Această platformă este utilizată de marile companii și companii din întreaga lume.

Platforme ca acestea au aspectele tehnice și problemele lor. O problemă specifică pe care au experimentat-o ​​codificatorii a fost aceea că .gitignore nu funcționa în GitHub. Platforma fie a ignorat .gitignore, fie a funcționat parțial. Este interesant de observat că problema ar putea fi puțin diferită în fiecare caz, deoarece fiecare caz este un scenariu complet diferit. Cu toate acestea, soluțiile pe care le enumerăm vor conține remedieri care vor funcționa universal.

Ce este .gitignore?

Git (sau GitHub) vede fiecare fișier din directorul dvs. de lucru. Caracterizează fiecare fișier ca unul dintre cele trei:

  • Urmărit: aceste fișiere sunt fie comise, fie organizate anterior în istorie.
  • Nedetectat: acestea sunt fișierele care nu au fost puse în scenă sau angajate anterior.
  • Ignorate: acestea sunt fișierele pe care utilizatorul le-a spus lui Git să le ignore complet.

Aceste fișiere ignorate pot varia de la scenariu la scenariu și sunt în mare parte fișiere generate de mașină sau artefacte de construire. Aceasta este practica obișnuită; s-ar putea să ignorați alte fișiere în funcție de nevoile dvs. Câteva exemple ale acestor fișiere sunt:

  • Cod compilat: Aceste fișiere sunt de obicei cu extensia .class, .pyc, .ccp etc.
  • Fișiere de sistem ascunse: Acestea sunt fișiere care sunt utilizate de sistem pentru operațiunile sale, dar care sunt ascunse de vizualizare simplă, de exemplu, DS_Store sau Thumbs.db etc.
  • Construiți directoare de ieșire: acestea sunt în mare parte din directoarele din / bin, / out etc.
  • Memorii cache de dependență: Aceste fișiere pot fi conținutul modulelor / nodului / / pachetelor.
  • Fișiere de configurare IDE: Acestea sunt fișiere de configurare care sunt create sau gestionate de software-ul dvs. IDE.
  • Fișiere generate în timpul rulării: Există unele programe care creează fișiere în timpul rulării. Dacă un astfel de cod este rulat, unele fișiere pot fi generate în timpul rulării în folderul dvs. de lucru și le-ați putea ignora în Git.

Orice fișier pe care doriți să îl ignorați este urmărit într-un fișier special numit .gitignore, care este verificat în cea mai mare parte din rădăcina depozitului dvs. de lucru. Conform documentației oficiale a GitHub pe această temă, nu există o comandă specifică gitignore. În schimb, trebuie să editați manual fișierul pe care doriți să îl ignorați. Fișierul .gitignore conține modele care se potrivesc cu numele fișierelor din depozitul dvs. de lucru și acestea sunt utilizate pentru a determina dacă un anumit fișier ar trebui ignorat sau nu.

Ce cauzează .gitignore să nu funcționeze?

Este posibil ca funcția .gitignore să funcționeze perfect, dar este posibil să nu o fi configurat corect. În toate sondajele noastre, am ajuns la concluzia că modulul funcționează într-adevăr. Motivul pentru care programatorii nu pot utiliza această funcție se datorează în principal faptului că nu au configurat corect fișierul sau există unele condiții care nu sunt îndeplinite în codul de bază.

Iată câteva soluții care ar putea funcționa pentru dvs. Este posibil ca fiecare soluție să nu fie aplicabilă în cazul dvs., deci asigurați-vă că treceți la următoarea dacă condițiile inițiale nu sunt îndeplinite.

Soluția 1: Verificarea fișierului .gitignore

A apărut un caz interesant în care am văzut că fișierul .gitignore a fost creat într-un format greșit. Această problemă specială a apărut atunci când utilizatorii au creat fișierul utilizând aplicația implicită a Notepad în sistemul de operare Windows. Se pare că Notepad scrie fișierul în Unicode în loc de format ANSI. În această soluție, vom salva modificările Notepad în formatul corect al .gitignore și vom vedea dacă acest lucru remediază problema.

Notă: Trebuie să eliminați extensia .txt din fișier atunci când creați un fișier nou folosind Notepad.

  1. După ce a scris codul sau modificări într - un nou document text în Notepad, faceți clic pe Fișier și selectați Salvare .
  1. Acum, în fața Codificării , selectați ANSI . Acum eliminați extensia de fișier .txt și salvați fișierul cu numele „ .gitignore ”. Selectați directorul corect și salvați.
  1. Navigați acum la director și verificați dacă este creat fișierul corect. Acum, testați-l din nou cu Git și vedeți dacă caracteristica Ignoră funcționează conform așteptărilor.

Dezvoltatorii ar trebui să se abțină de la utilizarea Notepad-ului implicit în Windows. În schimb, ar trebui să utilizați un bloc de note adecvat pentru „programatori”. Unele exemple includ Notepad ++ etc. În acestea, nu veți avea probleme ca acestea.

Notă: Dacă fișierul dvs. este deja salvat în format UNICODE, ar trebui să salvați conținutul în format ANSI corect dacă doriți ca fișierul dvs. să fie detectat corect de Git.

Soluția 2: Verificarea fișierului pe care încercați să îl ignorați

O altă condiție pe care funcționează .gitignore este ca fișierul dvs. să nu facă parte încă din depozit . Acesta este un aspect foarte esențial, deoarece dacă acest lucru este adevărat, fișierul nu va fi ignorat, deoarece este deja adăugat în depozit. Git nu poate ignora acest lucru chiar dacă îi plasați numele sau regula în fișierul .gitignore. Așadar, în esență, Git ignoră doar fișierele nerecomandate .

Ar trebui să vă uitați la structura dvs. (depozit) și să vă asigurați că fișierul pe care încercați să îl ignorați în prezent nu este adăugat în depozit. Dacă este, va trebui să eliminați fișierul din depozit și după ce au fost comise ultimele modificări, adăugați numele acestuia la .gitignore (puteți copia și conținutul fișierului și după ce îl ștergeți, îl puteți replica cu un alt nume) .

Soluția 3: Re-adăugarea fișierelor în depozit

Dacă ați adăugat deja reguli în .gitignore, dar fișierele pe care doriți să le ignorați sunt deja adăugate, putem adăuga din nou fișierele. Adăugarea înseamnă că vom elimina totul din indexul Git și apoi vom adăuga totul din nou în depozitul dvs. Când adăugăm fișiere din nou de la zero, se vor ține cont de regulile pe care le-ați adăugat în .gitignore și se adaugă doar fișierele corecte.

Notă: ar trebui să faceți o copie de rezervă a codului și în altă parte înainte de a efectua această soluție. Este întotdeauna bine să aveți o copie de rezervă pentru orice eventualitate.

  1. Executați următoarea comandă. Acest lucru va dezinstala și elimina căile către fișierele dvs. din indexul git într-o manieră recursivă.
git rm -r - cache.
  1. După ce aceasta este executată, ar trebui să executați următoarea comandă. Aceasta va adăuga toate fișierele înapoi și, deoarece .gitignore va avea regulile, doar fișierele corecte vor fi actualizate.
git add.
  1. Acum vom transfera toate fișierele înapoi în index folosind codul de mai jos:
git commit -m ".gitignore funcționează acum"

Acum inspectați-vă fișierele și vedeți dacă problema este rezolvată și puteți utiliza din nou .gitignore fără probleme.