que - Git Ignora todo en un directorio excepto las subcarpetas
gitignore>? (3)
Esta es mi estructura de carpetas:
data/
.gitignore
uploads/
.gitignore
Me gustaría cometer las carpetas pero no los archivos dentro de ellas.
Así que agrego un archivo .gitignore en cada carpeta con el siguiente contenido:
# Ignore everything in this directory
*
# Except this file
!.gitignore
El problema es que * coincide también en directorios, por lo que git rastrea solo data/.gitignore
La solución es bastante fácil, agregue !*/ los archivos .gitignore y solo se ignorarán los archivos en la carpeta actual
# Ignore everything in this directory
*
# Except this file
!.gitignore
# Except folders
!*/
Por favor, no .gitignore mal los archivos .gitignore . Es mejor atenerse a las formas predeterminadas de continuar con esto, para que los desarrolladores posteriores puedan entrar rápidamente en su proyecto.
- Agregue un archivo
.gitkeepvacío en las carpetas que desea confirmar sin los archivos Excluya las carpetas, pero no la
.gitkeepde su archivo principal.gitignore.folder/* !folder/.gitkeep
Esto ignora todos los archivos en una carpeta, pero no el archivo .gitkeep . Ahora la carpeta se comprometerá solo con el archivo .gitkeep como contenido.
Prueba esto:
*.*
!.gitignore
!*/*