2012-09-20 24 views
5

utilizo el siguiente archivo de .gitignore (global):Git: Ignorar sólo el contenido de la carpeta

.idea 
.svn 
/media/covers/* 
/media/tmp/* 
/media/cache/* 
/bin 
/include 
/lib 
/local 
*.log 
*.pot 
*.pyc 
local_settings.py 

Así que en media/covers, media/tmp, media/cache Quiero hacer caso omiso de todos los archivos y carpetas, pero no esta Directorios mismos . Este archivo .gitignore ignora media/covers, media/tmp, media/cache dirs, ¿cómo puedo solucionarlo?

TIA!

+1

Git no rastrea directorios en absoluto, solo archivos en los directorios. – twalberg

Respuesta

14

Agregue un archivo .gitignore al directorio que desea conservar. Dentro de ese directorio puso

* 

Ahora, cuando usted hace un git status, se verá que el contenido no se muestran como está realizando el seguimiento, sólo el archivo .gitignore. Y dado que el archivo .gitignore está en el directorio, eso significa que se rastreará el directorio, pero no otros contenidos.

5

Git no agregará directorios vacíos a su índice. Supongo que estos directorios están siendo excluidos porque están vacíos, no porque coincidan las reglas de ignorar.

Una forma en que la gente resuelve esto es crear un archivo vacío llamado .gitkeep en los directorios que les gustaría que git conserve. De modo que podría agregar ese archivo al media/covers, media/tmp, etc. Luego agregue !*.gitkeep/ a su archivo .gitignore.

+0

Me gusta la idea de un archivo .gitkeep. Es auto explicativo es una manera de hablar. ¡Gracias! –

+0

ahora no está funcionando? –

Cuestiones relacionadas