repositorio - Configurar git para rastrear solo una extensión de archivo
git push tag (4)
Tengo un árbol de directorios con muchos tipos de archivos diferentes. Hay 300 directorios en el directorio padre. Cada directorio podría tener otros subdirectorios.
Solo quiero rastrear * .cocci en todos los subdirectorios. Aquí está mi .gitignore:
*
!*.cocci
Pero no funciona, ya que los archivos en los subdirectorios no son rastreados. ¿Cómo puedo decirle a git que solo quiero rastrear * .cocci en todos los subdirectorios?
¿Has probado !*/*.cocci
lugar de tu !*.cocci
?
Es imposible anular el directorio por !dir
en .gitignore, pero aún es posible agregar el directorio a mano:
git add dir -f
Así que si el archivo .gitignore se ve así:
*
!*.txt
Entonces cuando lo hagas git add .
Luego se agregan nuevos archivos *.txt
. El nuevo directorio no se agregará automáticamente, se debe agregar manualmente git add dir -f
Lee esta pregunta .
Usted quiere:
# Blacklist everything
*
# Whitelist all directories
!*/
# Whitelist the file you''re interested in.
!*.cocci
Tenga en cuenta que esto solo *.cocci
archivos *.cocci
. El tuyo no funciona porque ignoras todo (esa es la primera línea), lo que ignora todos los subdirectorios .
Para extender la respuesta de @simont, si quisiéramos *.cocci
en la lista blanca los archivos *.cocci
de un directorio determinado y sus subdirectorios, habría ingresado erróneamente:
directory/*
!directory/*/
!directory/*.cocci
Eso parece no incluir archivos *.cocci
en el directory/subtree
.
Para encontrar todos los archivos *.cocci
en todos los subdirectorios del directory
ingrese lo siguiente:
directory/**
!directory/*/
!directory/**/*.cocci