Solució: Gitignore no funciona

Fix Gitignore Is Not Working

GitHub ha esdevingut un dels pioners més importants en el camp de la col·laboració en codi i l’ús compartit de dipòsits. GitHub és principalment un programari de control de versions que permet als usuaris controlar el control de versions distribuïdes i SCM (gestió del codi font). Aquesta plataforma és utilitzada per empreses i empreses importants de tot el món.

.gitignore



Plataformes com aquestes tenen els seus aspectes tècnics i els seus problemes. Un problema específic que van experimentar els codificadors va ser que .gitignore no funcionava a GitHub. La plataforma ignorava el .gitignore o funcionava parcialment. És interessant observar que el problema pot ser una mica diferent en cada cas, ja que cada cas és un escenari completament diferent. Tot i això, les solucions que enumerem contindran correccions que funcionaran universalment.



Què és .gitignore?

Git (o GitHub) veu tots els fitxers del directori de treball. Caracteritza cada fitxer com un dels tres:



  • Seguiment: Aquests fitxers han estat compromesos o es van col·locar prèviament a la història.
  • Sense rastrejar: Aquests són els fitxers que no s’han posat en escena ni han estat compromesos anteriorment.
  • Ignorats: Aquests són els fitxers que el propi usuari va dir a Git que ignorés completament.

Aquests fitxers ignorats poden variar d'escenari a escenari i són majoritàriament fitxers generats per màquina o artefactes de construcció. Aquesta és la pràctica habitual; és possible que estigueu ignorant altres fitxers segons les vostres necessitats. Alguns exemples d’aquests fitxers són:

  • Codi compilat: Aquests fitxers solen tenir l'extensió .class, .pyc, .ccp, etc.
  • Fitxers del sistema ocults: Es tracta de fitxers que el sistema utilitza per a les seves operacions, però que estan ocults a la vista simple, per exemple, DS_Store o Thumbs.db, etc.
  • Creeu directoris de sortida: Aquests són principalment dels directoris de / bin, / out, etc.
  • Memòries cau de dependència: Aquests fitxers poden ser el contingut de / node o / packages modules.
  • Fitxers de configuració IDE: Es tracta de fitxers de configuració que són creats o gestionats principalment pel vostre programari IDE.
  • Fitxers generats en temps d'execució: Hi ha alguns programes que creen fitxers en temps d'execució. Si s'executa qualsevol d'aquest tipus de codi, és possible que es generin alguns fitxers en temps d'execució a la carpeta de treball i que no els feu cas a Git.

Qualsevol fitxer que vulgueu ignorar es fa un seguiment en un fitxer especial anomenat .gitignore que es comprova principalment a l'arrel del vostre repositori de treball. Segons la documentació oficial de GitHub sobre el tema, no hi ha cap ordre específica de gitignore. En lloc d’això, heu d’editar manualment el fitxer que voleu ignorar. El fitxer .gitignore conté patrons que coincideixen amb els noms de fitxers del vostre dipòsit de treball i s’utilitzen per ajudar a determinar si s’ha d’ignorar o no un fitxer específic.

Què fa que el .gitignore no funcioni?

És possible que la funció .gitignore funcioni perfectament, però és possible que no l’hagueu configurat correctament. En totes les nostres enquestes, vam arribar a la conclusió que el mòdul funcionava efectivament. La raó per la qual els programadors no poden utilitzar la funció es deu principalment a que no han configurat correctament el fitxer o hi ha algunes condicions que no es compleixen al codi subjacent.



Aquí teniu algunes solucions que us poden funcionar. És possible que cada solució no sigui aplicable al vostre cas, així que assegureu-vos de canviar a la següent si no es compleixen les condicions inicials.

Solució 1: comprovació del fitxer .gitignore

Va aparèixer un cas interessant en què vam veure que el fitxer .gitignore es va crear amb un format incorrecte. Aquest problema concret es va produir quan els usuaris van crear el fitxer mitjançant l'aplicació predeterminada del Bloc de notes al sistema operatiu Windows. Resulta que el Bloc de notes escriu el fitxer en Unicode en lloc de format ANSI. En aquesta solució, desarem els canvis del Bloc de notes amb el format correcte de .gitignore i veurem si això soluciona el problema.

Nota: Heu d’eliminar l’extensió de .txt del fitxer quan creeu un fitxer nou amb el bloc de notes.

  1. Després d’escriure el codi o els canvis en un nou document de text al Bloc de notes, feu clic a Dossier i seleccioneu Guardar com .

Desa com a: bloc de notes

  1. Ara davant Codificació , seleccioneu ANSI . Ara elimineu l'extensió de fitxer de .txt i deseu-lo amb el nom ' .gitignore ’. Seleccioneu el directori correcte i deseu-lo.

Seleccionant ANSI com a tipus de codificació

  1. Ara aneu al directori i comproveu si es crea el fitxer correcte. Ara torneu a provar-ho amb Git i comproveu si la funció Ignora funciona com s’esperava.

Els desenvolupadors haurien d'abstenir-se d'utilitzar el bloc de notes predeterminat a Windows. En lloc d’això, heu d’utilitzar un bloc de notes adequat per a programadors. Alguns exemples inclouen Bloc de notes ++ etc. En aquests casos, no tindreu problemes com aquests.

Nota: Si el fitxer ja està desat en format UNICODE, hauríeu de desar el contingut en format ANSI correctament si voleu que el fitxer el detecti correctament Git.

Solució 2: comproveu el fitxer que intenteu ignorar

Una altra condició en què funciona .gitignore és que el fitxer no estigui encara forma part del dipòsit . Aquest és un aspecte molt essencial, ja que si això és cert, el fitxer no s'ignorarà tal com és ja afegit al dipòsit. Git no ho pot ignorar fins i tot si col·loqueu el seu nom o regla al fitxer .gitignore. Per tant, en essència, Git només ignora fitxers sense rastrejar .

Heu de mirar la vostra estructura (dipòsit) i assegurar-vos que el fitxer que actualment intenteu ignorar no s’afegeixi al dipòsit. Si és així, hauríeu d’eliminar el fitxer del dipòsit i, després d’haver compromès els darrers canvis, afegir el seu nom a .gitignore (també podeu copiar el contingut del fitxer i, després d’eliminar-lo, replicar-lo amb un nom diferent) .

Solució 3: tornar a afegir fitxers al dipòsit

Si ja heu afegit regles a .gitignore però els fitxers que voleu ignorar ja estan afegits, podem tornar a afegir-los. Afegir significa que eliminarem tot de l’índex de Git i tornarem a afegir tot al vostre dipòsit. Quan tornem a afegir fitxers des de zero, es tindran en compte les regles que heu afegit a .gitignore i només s’afegeixen els fitxers correctes.

Nota: També heu de fer una còpia de seguretat del codi en un altre lloc abans de realitzar aquesta solució. Sempre és bo tenir una còpia de seguretat per si de cas.

  1. Executeu l'ordre següent. Això desinstal·larà i eliminarà els camins dels fitxers de l'índex git de manera recursiva.
git rm -r --cach.
  1. Un cop executat, haureu d'executar l'ordre següent. Això tornarà a afegir tots els vostres fitxers i, ja que .gitignore tindrà les regles, només s’actualitzaran els fitxers correctes.
git add.
  1. Ara tornarem a incloure tots els vostres fitxers a l’índex mitjançant el codi següent:
git commit -m '.gitignore ara està funcionant'

Ara inspeccioneu els fitxers i comproveu si el problema es resol i podeu tornar a utilitzar .gitignore sense cap problema.

4 minuts de lectura