.gitignore y proyecto de Visual Studio: Ignorar el directory bin / Debug pero no el directory bin / Release

Tengo un proyecto de C # Visual Studio en un repository git. Quiero ignorar el contenido del directory bin/Debug pero no los contenidos del directory bin/Release '. He agregado bin/Debug a mi file .gitignore , pero parece que no funciona, incluye todo el contenido del directory bin . ¿Cuál sería la input correcta para hacer esto?

Esto es lo que hemos estado usando últimamente, elimina todas las cosas generadas por el reafilado y algunas otras cosas importantes. Tenga en count que no comprometemos nuestro directory de publicación, por lo que no debe include Release/ en su .gitignore , pero para responder a su pregunta, debe include Debug/ .

 /build/ *.suo *.user _ReSharper.*/ *.sdf bin/ obj/ Debug/ Release/ *.opensdf *.tlog *.log TestResult.xml *.VisualState.xml Version.cs Version.h Version.cpp 

ACTUALIZAR

Aquí hay un ejemplo bastante completo de github:

Esto normalmente sucede porque el .gitignore se agregó después de que se cometieron los files. El .gitignore le dice a git que ignore los files sin seguimiento que coinciden, una vez que se han cometido las cosas, la opción de ignorar ya no funcionará. Una forma de solucionarlo es eliminar la carpeta bin / debug (manualmente a través de explorer / powershell / bash), luego confirmar las eliminaciones. Una vez hecho esto, los ignores deberían funcionar como esperabas.

  1. Eliminar files / carpeta
  2. git add -A
  3. git commit

No deberías tener que borrar nada. Después de que haya agregado el file .gitignore, ejecute este command para borrar la caching, luego realice la etapa y vuelva a comprometerse:

 git rm -r . --cached 

Sé que es una vieja pregunta, pero he decidido compartir mi enfoque que excluye exactamente bin / Debug, bin / Release, etc.

 */**/bin/Debug */**/bin/Release */**/obj/Debug */**/obj/Release 

Ejecutar el siguiente command funcionó para mí (gracias a "orourkedd"):

 git rm -r . --cached 

.gitignore manualmente el file .gitignore pero no fue tomado en consideración hasta que ejecuté este command.

Luego tuve que comprometerme nuevamente y todo bien para irme ahora. /bin carpetas /bin y /obj están correctamente excluidas ahora.

Lo arreglé reemplazando bin/Debug con Debug .

Esto también tendría el efecto de ignorar el directory obj/Debug , sin embargo, quiero ignorar todo el contenido del directory obj , así que también agregué obj a .gitignore .

Esto funciona para mí:

 *.exe *.pdb *.manifest *.cache 

Si está usando GitHub Desktop como lo estoy usando, puede hacer clic derecho en el file que desea excluir o hacer clic con el button derecho y excluir por extensión:

enter image description here

Esto generará automáticamente un file .gitignore para usted con el código anterior. Puede download GitHub Desktop aquí: GitHub Desktop para Windows de 64 bits .