Quiero ignorar todas las reglas .gitignore en el subdirectorio, excepto las reglas .gitignore en la raíz.
por ejemplo) Ya tengo un .gitignore
archivo en una estructura de directorio /a
.
Y también tener .gitignore
archivo en formato /a/b
. Suponga que /a
tiene a.txt
b.txt
archivos.
/a/b
tiene .config
archivo. .gitignore
define .config
en /a/b
.
.config
el archivo será ignorado por .gitignore
in /a/b
.
Pero realmente quiero rastrear el .config
archivo ignorando las reglas de .gitignore
en el subdirectorio.
¿Es posible?
Gracias por adelantado
/a/b/c
y actualizar.gitignore
en/a/b
, ¿es posible en/a/b/c
hacer caso omiso de las reglas en/a/b
y en su lugar sólo utilizan reglas de/a
."An optional prefix ! which negates the pattern; any matching file excluded by a previous pattern will become included again."
inner .gitignore
se fusionaráouter .gitignore
con una prioridad más alta, no simplemente se anulará.Digamos que desea incluirlo
node_modules
en su repositorio, pero algún módulo en la línea tiene uno.gitignore
propio. Puede negar las reglas agregando lo siguiente a su.gitignore
archivo raíz :fuente
node_modules/mod1
,node_modules/mod2
dentro de ambos hay un .gitignore que ignora lo más profundonode_modules
dentro de ellos (como ennode_modules/mod1/node_modules
. Agrego y elimino módulos a menudo, así que no puedo saber muy bien y agregar reglas manualmente para ignorarnode_modules/mod1/.gitignore
o agregar manualmente!node_modules/mod1/node_modules
todo el tiempo. Básicamente, estoy tratando de implementar una aplicación de meteoritos y todas las integradas.gitignores
hacen que sea imposible obtenerlo todo en git.La clave del problema aquí es que se excluye un directorio principal. De
$ man gitignore
:Así es como lo hice funcionar. Dado:
/.gitignore
:Luego
/b/foo
se mostrarán como archivos incluidos, mientras que todo lo que esté en/a
y/c
se excluirá. La compensación es que debe agregar una negación para todos los padres de cualquier directorio en el que desee incluir archivos.fuente
!/b/**/*
?Hasta donde yo sé, no hay forma de hacerlo. Como el .gitignore local sobrescribirá la raíz ginignore Mi solución es agregar manualmente.
fuente
.gitignore
no funcionó para mí ya que el padre anula la configuración de la carpeta secundaria. Si fuerza la adicióngit add -f myfile.txt
, comenzará a realizar un seguimiento de los cambios sin pasar por la.gitignore
configuración principal .