Solución: Gitignore no funciona

GitHub se ha convertido en un pionero líder en el campo de la colaboración de código y el intercambio de repositorios. GitHub es principalmente un software de control de versiones que permite a los usuarios controlar el control de versiones distribuido y SCM (gestión del código fuente). Esta plataforma es utilizada por las principales empresas y empresas de todo el mundo.

.gitignore

Plataformas como estas tienen sus tecnicismos y problemas. Un problema específico que experimentaron los codificadores fue que .gitignore no funcionaba en GitHub. La plataforma ignoró el .gitignore o funcionó parcialmente. Es interesante observar que el problema puede ser un poco diferente en cada caso, ya que cada caso es un escenario completamente diferente. Sin embargo, las soluciones que enumeramos contendrán correcciones que funcionarán universalmente.

¿Qué es .gitignore?

Git (o GitHub) ve todos los archivos en su directorio de trabajo. Caracteriza cada archivo como uno de los tres:

  • Rastreado: estos archivos están confirmados o almacenados previamente en el historial.
  • Sin seguimiento: estos son los archivos que no se han preparado o confirmado previamente.
  • Ignorado: estos son los archivos que el propio usuario le dijo a Git que ignorara por completo.

Estos archivos ignorados pueden variar de un escenario a otro y son en su mayoría archivos generados por máquina o artefactos de compilación. Esta es la práctica común; Es posible que esté ignorando otros archivos según sus propias necesidades. Algunos ejemplos de estos archivos son:

  • Código compilado: estos archivos suelen tener la extensión .class, .pyc, .ccp, etc.
  • Archivos del sistema ocultos: son archivos que el sistema utiliza para sus operaciones pero que están ocultos a simple vista, por ejemplo, DS_Store o Thumbs.db, etc.
  • Crear directorios de salida: estos son en su mayoría de los directorios de / bin, / out, etc.
  • Cachés de dependencia: estos archivos pueden ser el contenido de / node o / packages modules.
  • Archivos de configuración IDE: estos son archivos de configuración que en su mayoría son creados o administrados por su software IDE.
  • Archivos generados en tiempo de ejecución: hay algunos programas que crean archivos en tiempo de ejecución. Si se ejecuta dicho código, algunos archivos pueden generarse en tiempo de ejecución en su carpeta de trabajo y puede ignorarlos en Git.

Cualquier archivo que desee ignorar se rastrea en un archivo especial llamado .gitignore que se verifica principalmente en la raíz de su repositorio de trabajo. De acuerdo con la documentación oficial de GitHub sobre el tema, no hay un comando gitignore específico. En su lugar, debe editar manualmente el archivo que desea ignorar. El archivo .gitignore contiene patrones que coinciden con los nombres de archivo en su repositorio de trabajo y estos se utilizan para ayudar a determinar si un archivo específico debe ser ignorado o no.

¿Qué causa que .gitignore no funcione?

La función .gitignore podría estar funcionando perfectamente, pero es posible que no la haya configurado correctamente. En todas nuestras encuestas, llegamos a la conclusión de que el módulo realmente estaba funcionando. La razón por la cual los codificadores no pueden usar la función es principalmente porque no han configurado correctamente el archivo o hay algunas condiciones que no se cumplen en el código subyacente.

Aquí hay algunas soluciones que pueden funcionar para usted. Es posible que cada solución no sea aplicable en su caso, así que asegúrese de cambiar a la siguiente si no se cumplen las condiciones iniciales.

Solución 1: Verificando el archivo .gitignore

Un caso interesante surgió donde vimos que el archivo .gitignore se creó en el formato incorrecto. Este problema en particular ocurrió cuando los usuarios crearon el archivo usando la aplicación predeterminada del Bloc de notas en el sistema operativo Windows. Resulta que el Bloc de notas escribe el archivo en Unicode en lugar de en formato ANSI. En esta solución, guardaremos los cambios del Bloc de notas en el formato correcto de .gitignore y veremos si esto soluciona el problema.

Nota: debe eliminar la extensión .txt del archivo cuando cree un nuevo archivo con el Bloc de notas.

  1. Después de escribir el código o los cambios en un nuevo documento de texto en el Bloc de notas, haga clic en Archivo y seleccione Guardar como .

Guardar como - Bloc de notas
  1. Ahora frente a Codificación, seleccione ANSI . Ahora elimine la extensión del archivo .txt y guarde el archivo con el nombre ' .gitignore '. Seleccione el directorio correcto y guarde.

Seleccionar ANSI como tipo de codificación
  1. Ahora navegue al directorio y verifique si se creó el archivo correcto. Ahora pruébelo nuevamente con Git y vea si la función Ignorar funciona como se esperaba.

Los desarrolladores deben abstenerse de usar el Bloc de notas predeterminado en Windows. En su lugar, debe usar el bloc de notas de programador adecuado. Algunos ejemplos incluyen Notepad ++, etc. En esos, no tendrá problemas como estos.

Nota: Si su archivo ya está guardado en formato UNICODE, debe guardar el contenido en formato ANSI correctamente si desea que Git detecte correctamente su archivo.

Solución 2: Verificando el archivo que estás tratando de ignorar

Otra condición en la que funciona .gitignore es que su archivo aún no debe ser parte del repositorio . Este es un aspecto muy esencial ya que si esto es cierto, el archivo no será ignorado ya que ya está agregado al repositorio. Git no puede ignorar eso incluso si coloca su nombre o regla en el archivo .gitignore. Entonces, en esencia, Git solo ignora los archivos no rastreados .

Debe mirar su estructura (repositorio) y asegurarse de que el archivo que está tratando de ignorar no se agregue al repositorio. Si es así, debería eliminar el archivo del repositorio y, una vez confirmados los últimos cambios, agregar su nombre a .gitignore (también puede copiar el contenido del archivo y, después de eliminarlo, replicarlo con un nombre diferente) .

Solución 3: volver a agregar archivos al repositorio

Si ya ha agregado reglas a .gitignore pero los archivos que desea ignorar ya están agregados, podemos volver a agregarlos. Agregar significa que eliminaremos todo del índice de Git y luego volveremos a agregar todo a su repositorio. Cuando agreguemos archivos nuevamente desde cero, se tendrán en cuenta las reglas que ha agregado en .gitignore y solo se agregarán los archivos correctos.

Nota: También debe hacer una copia de seguridad de su código en otro lugar antes de realizar esta solución. Siempre es bueno tener una copia de seguridad por si acaso.

  1. Ejecute el siguiente comando. Esto desestabilizará y eliminará las rutas a sus archivos del índice git de manera recursiva.
 git rm -r --cached. 
  1. Después de ejecutar esto, debe ejecutar el siguiente comando. Esto agregará todos sus archivos y, dado que .gitignore tendrá las reglas, solo se actualizarán los archivos correctos.
 git add. 
  1. Ahora volveremos a guardar todos sus archivos en el índice usando el siguiente código:
 git commit -m ".gitignore ahora funciona" 

Ahora inspeccione sus archivos y vea si el problema está resuelto y puede usar .gitignore nuevamente sin ningún problema.

Artículos De Interés