gitignore excluir carpeta pero incluir una subcarpeta especifica. FROM: http://stackoverflow.com/questions/5533050/gitignore-exclude-folder-but-include-specific-subfolder#answer-5534865
Para ignorar subcarpetas específicas lo ideal es usar reglas de pares indicando la carpeta general a incluir y después las que deseamos excluir. Por ejemplo:
# Agregamos la carpeta padre (el /* es fundamental se explica abajo)
application/*
# Excluimos una carpeta especifica
!application/language/
# Agregamos otra carpeta padre
application/language/*
# Excluimos una carpeta específica
!application/language/gr/
El /* es importante, si no lo incluimos no funcionará:
Al no incluir /* git ignora la carpeta completa sin mirar dentro carpeta/. Esto se ignora porque está implícito al ignorar la carpeta.
Si incluímos /* se realiza una búsqueda dentro de carpeta/ ignorando todo en su interior, de esta forma podemos "excluir" subcarpetas y ficheros con: !carpeta/subcarpeta/fichero.extension.