tag repositorio que log crear git file-extension gitignore subdirectory

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