¿Cómo puedo ignorar Git subcarpetas/subdirectorios?

Resuelto Marcel asked hace 14 años • 14 respuestas

Tengo muchos proyectos en mi solución .NET . Me gustaría excluir todas las carpetas "bin/Debug" y "bin/Release" (y su contenido), pero seguir incluyendo la carpeta "bin" y cualquier archivo DLL que contenga.

.gitignore con "bin/" ignora las carpetas " Debug " y " Release ", pero también cualquier archivo DLL contenido en la carpeta "bin".

bin/Debug o bin/Release en el archivo .gitignore no excluye los directorios a menos que califique completamente el patrón de ignorar como Solución/Proyecto/bin/Debug , lo cual no quiero hacer ya que necesitaré incluir este patrón completo para cada proyecto en mi solución, así como agregarlo para cualquier proyecto nuevo agregado.

¿Cómo puedo hacerlo?

Marcel avatar Mar 30 '10 20:03 Marcel
Aceptado

Utilice comodines:

Solution/*/bin/Debug
Solution/*/bin/Release

Con la versión 1.8.2 de Git, también puedes usar el **comodín para hacer coincidir cualquier nivel de subdirectorios:

**/bin/Debug/
**/bin/Release/
Josh Lee avatar Mar 30 '2010 13:03 Josh Lee

Puede usar .gitignore en el nivel superior para ignorar todos los directorios del proyecto con el mismo nombre. Por ejemplo:

Debug/
Release/

Esto debería actualizarse inmediatamente para que sea visible cuando accedas al estado de git. Asegúrese de que estos directorios no estén agregados a git, ya que eso anulará los ignorados.

Andreas avatar Mar 30 '2010 14:03 Andreas

Todas las respuestas anteriores son válidas, pero algo que no creo que se mencione es que una vez que agregas un archivo de ese directorio al repositorio, no puedes ignorar ese directorio/subdirectorio que contiene ese archivo (git ignorará esa directiva ).

Para ignorar archivos ya agregados, ejecute

git rm -r --cached .

De lo contrario, primero tendrá que eliminar todos los archivos del directorio de destino del repositorio y luego podrá ignorar esa carpeta.

ajacian81 avatar Mar 08 '2015 04:03 ajacian81