¿Cómo le digo a Git que ignore todo excepto un subdirectorio?

Resuelto Michael Goerz asked hace 15 años • 13 respuestas

Quiero ignorar todos los archivos de mi repositorio excepto los que se encuentran en el binsubdirectorio. Intenté agregar lo siguiente a mi .gitignore:

*
!bin/*

Sin embargo, esto no tiene el efecto deseado: creé un nuevo archivo dentro de bin/, pero al hacerlo git statustodavía se muestra nothing to commit (working directory clean).

¿Alguna sugerencia?

Michael Goerz avatar Aug 08 '09 18:08 Michael Goerz
Aceptado

Esto ignora los archivos raíz y los directorios raíz, luego ignora el directorio raíz bin:

/*
/*/
!/bin/

De esta manera obtienes todo el directorio bin, incluidos los subdirectorios y sus archivos.

Tyler Laing avatar Dec 21 '2011 19:12 Tyler Laing

Aquí cómo ignorar todo excepto un directorio " MY_SUPER_DUPER_TEMPLATE_directory " en algún directorio

Estructura: /bitrix/templates/ MY_SUPER_DUPER_TEMPLATE_directory

/*
!/bitrix
/bitrix/*
!/bitrix/templates
/bitrix/templates/*
!/bitrix/templates/MY_SUPER_DUPER_TEMPLATE_directory
*.DS_Store
*.gitignore
Andrii Tishchenko avatar Jun 13 '2012 15:06 Andrii Tishchenko

Debes excluir todo en el camino a los destinos, pero debes incluir los destinos:

Nota: Este es un archivo de exclusión (es decir, .gitignore), por lo que la lógica se invierte. Ignorar todo, excepto el directorio tsp, ignorar todo en el directorio tsp, excepto el directorio src...

/*
!/tsp
/tsp/*
!/tsp/src
/tsp/src/*
!/tsp/src/*.h
!/tsp/src/*.cpp
!/tsp/src/data.txt
!/.gitignore
Sooth avatar Jan 20 '2013 07:01 Sooth

El único problema que tiene es que el bindirectorio en sí no coincide con el bin/*patrón, por lo que git ni siquiera busca en el bindirectorio.

Hay dos soluciones que me vienen a la mente.

.gitignore:

*
!/bin/
!bin/*

o

.gitignore:

*
!/bin/

bin/.gitignore:

!*

Prefiero la segunda solución ya que la primera solución no deja de ignorar archivos en los bindirectorios que están en subdirectorios que no se llaman bin. Esto puede importar o no en su situación.

CB Bailey avatar Aug 08 '2009 11:08 CB Bailey