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 distribuidas y SCM (gestión de código fuente). Esta plataforma es utilizada por las principales empresas y empresas de todo el mundo.

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 notar 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:

  • Seguimiento: 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áquinas o artefactos de compilación. Ésta es la práctica común; es posible que esté ignorando varios 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 de sistema ocultos: estos son archivos que el sistema utiliza para sus operaciones pero que están ocultos a la vista, por ejemplo, DS_Store o Thumbs.db, etc.
  • Construir directorios de salida: estos son principalmente directorios de / bin, / out, etc.
  • Cachés de dependencia: estos archivos pueden ser el contenido de los módulos / node o / packages.
  • 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 alguno de estos códigos, es posible que se generen algunos archivos en tiempo de ejecución en su carpeta de trabajo y es posible que los ignore en Git.

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

¿Qué causa que .gitignore no funcione?

Es posible que la función .gitignore funcione 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 que los codificadores no pueden usar la función es principalmente porque no han configurado correctamente el archivo o porque hay algunas condiciones que no se cumplen en el código subyacente.

Aquí hay algunas soluciones que podrían 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: Comprobación del archivo .gitignore

Surgió un caso interesante en el que 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 de .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 .
  1. Ahora, frente a Codificación , seleccione ANSI . Ahora elimine la extensión de archivo .txt y guarde el archivo con el nombre ' .gitignore '. Seleccione el directorio correcto y guarde.
  1. Ahora navegue hasta el 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 utilizar el bloc de notas de "programadores" 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 su archivo sea detectado correctamente por Git.

Solución 2: Comprobación del archivo que está intentando ignorar

Otra condición en la que funciona .gitignore es que su archivo no debe formar parte del repositorio todavía . Este es un aspecto muy esencial, ya que si esto es cierto, el archivo no se ignorará porque 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 sin seguimiento .

Debe mirar su estructura (repositorio) y asegurarse de que el archivo que está intentando ignorar actualmente no se agregue al repositorio. Si es así, tendría que eliminar el archivo del repositorio y después de que se confirmen 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 agregó reglas en .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 agregaremos todo nuevamente 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 de git de manera recursiva.
git rm -r --cached.
  1. Una vez ejecutado esto, debe ejecutar el siguiente comando. Esto agregará todos sus archivos de nuevo y, dado que .gitignore tendrá las reglas, solo se actualizarán los archivos correctos.
git add.
  1. Ahora volveremos a enviar todos sus archivos al índice usando el siguiente código:
git commit -m ".gitignore ahora está funcionando"

Ahora inspeccione sus archivos y vea si el problema se resuelve y puede usar .gitignore nuevamente sin ningún problema.