es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Por qué el directorio .config no aparece en la lista cuando se excluye del gitignore usando comodín (*) y el comando git status?

Sé que la pregunta es un poco críptica, no pude formularla exactamente en una sola oración (podría necesitar ayuda en eso).

Inicialicé git en mi directorio personal (es decir, “~/”, en Arch Linux) para hacer una copia de seguridad de mis archivos de configuración (principalmente las configuraciones). Quiero incluir todos los archivos y carpetas en él, excepto los que comienzan con un “.” (como “.config/” y “.bashrc”).

Así que hice un archivo “.gitignore” cuyo contenido es:

Ignorar todo
*

Excepto estos archivos y carpetas

!.*

Pero el problema es que cuando listo todos los archivos sin seguimiento (git status), por alguna razón no lista el directorio “.config/”.
Intenté jugar con “.gitignore” y agregar

!*/

muestra todos los directorios, incluyendo “config/” y también “Documents”, “Downloads”, etc., pero no quiero incluirlos.

En lugar de agregar

!.*/

se muestran todos los demás directorios que comienzan con un “.” como “.cache/”, “.vim/”, etc. Pero por alguna razón, “.config/” no aparece.
Incluso intenté

!.config/

y

!.config 

no funciona. Lo único que funciona es “!*/” (todos los directorios, lo cual no es lo que quiero).
¿Hay alguna forma de resolver esto? Es realmente molesto.

[Resuelto]: fue un error

El error se ha corregido en la versión git 2.34.1

Consulte la respuesta aceptada.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Solución para excluir directorios que empiezan con “.” en Git

    Si deseas excluir todos los directorios que comienzan con un . (como .config/ y .bashrc) cuando usas Git para hacer una copia de seguridad de tus archivos de puntos en el directorio de inicio (~/), puedes crear un archivo .gitignore con el siguiente contenido:

    # Ignorar todos los archivos y directorios
    /*
    
    # Excepto estos archivos y directorios
    !.*/
    !.bashrc
    

    Este archivo .gitignore ignorará todos los archivos y directorios en el directorio de inicio, pero incluirá todos los archivos y directorios que comiencen con un . excepto .config/. Para incluir archivos o directorios adicionales, puedes agregar líneas adicionales que comiencen con !.

    Sin embargo, si tienes problemas con Git y no se muestra el directorio .config/ aunque esté excluido en el archivo .gitignore, puede ser un error. Según la publicación de StackOverflow, este error ha sido corregido en la versión 2.34.1 de Git. Por lo tanto, actualizar a la última versión de Git podría solucionar el problema.

Comments are closed.