¿Cómo podría ignorar las carpetas bin y obj del repositorio de git?

111

Quiero ignorar las carpetas bin y obj de mi repositorio de git. Como descubrí, no hay una manera fácil de hacer esto en .gitignore. Entonces, ¿hay alguna otra forma? ¿Utiliza una solución limpia en Visual Studio?

chester89
fuente
Funciona bien para mí: agrego las palabras 'bin' y 'obj' como líneas separadas en mi archivo .gitignore
Tim Robinson
1
¿Y si la solución consta de muchos proyectos, no solo uno?
chester89
¿Puedes publicar exactamente lo que estás intentando y lo que no funciona? objy binen un nivel superior .gitignore debería ignorar todo lo llamado objo binen todos los niveles inferiores.
CB Bailey
2
Tengo entendido que el contenido de .gitignore se aplica en todos los subdirectorios, por lo que 'bin' y 'obj' funcionan en todas partes. Publicaré mi .gitignore en una respuesta.
Tim Robinson

Respuestas:

164

No estoy seguro de por qué esto no funciona para ti. En caso de que sea de ayuda, aquí hay un archivo .gitignore típico de uno de mis proyectos de Visual Studio / git:

*.suo
*.user
_ReSharper.*
bin
obj
packages
Tim Robinson
fuente
4
También agrego packagesque puede volver a descargarlos fácilmente de NuGet
Michal Ciechan
1
no funciona cuando confirma todos los archivos por primera vez y luego agrega el archivo .gitignore a su repositorio y lo confirma. Los archivos recién ignorados todavía se mostrarán como modificados (si los reconstruye, por ejemplo).
vlad2135
7
Recientemente utilicé el archivo .gitignore sugerido que se encuentra aquí: github.com/github/gitignore/blob/master/VisualStudio.gitignore con gran éxito.
BigTFromAZ
1
@BigTFromAZ Deberías agregar que como respuesta, ¡es mucho mejor que la aceptada!
Avrohom Yisroel
61

simplemente hacer una entrada en gitignore puede no ignorar los archivos, es posible que deba confirmarlo. Usé el siguiente método y trabajé para mí.

git rm -r --cached .

git add .

luego

git commit -am "Remove ignored files"

Sin embargo, esto ignora mi carpeta de scripts que incluí más tarde en el repositorio.

Arvind Krmar
fuente
Funciona bien. Pero Vscode no pudo encontrar el código modificado. Cambié algo yo mismo y lo empujé al maestro de origen. Entonces funcionó. :)
Dentrax
Tengo una solución con muchos proyectos y, por alguna razón, git add. nunca se completa.
Chucky
¡Genial Arvind !, un desarrollador novato fusionó todos los archivos bin / y obj / con nuestra rama de trabajo (omisión de políticas ... ¡no sé cómo!) Y esta fue la forma de eliminar todos esos archivos del repositorio.
equintas
Soy novato (al menos para entenderlo), me hice esto a mí mismo. Nunca pensé en rm y luego volver a agregar porque no entendía que git rm solo elimina los elementos del índice y no del disco. Entonces, si entiendo correctamente, sus dos primeros comandos reconstruyeron el índice eliminando todo del índice y agregando todo, aplicando los filtros .gitignore. Luego, la confirmación lo hace así en el repositorio. Muy inteligente.
BigTFromAZ
¡Excelente! Esto funcionó perfectamente bien para mí. todos los archivos .vs, obj, bin y otros archivos ignorados.
Stanley Okpala Nwosa
9

Si está utilizando Visual Studio, existe una forma sencilla de hacerlo.

  1. Abrir Team Explorer
  2. Haga clic en configuración
  3. Configuración del repositorio
  4. En la sección Ignorar y archivo de atributos, haga clic en Agregar junto a Ignorar archivo.

Creará un archivo .gitignore predeterminado, que ignorará la mayoría de las carpetas y archivos comunes que utilizará el framework / idioma.

ingrese la descripción de la imagen aquí

Nilay
fuente
3
  • Busque el binyobj carpetas en el Explorador de Windows
  • Haga clic derecho en TortoiseGit> Eliminar y agregar a la lista de ignorados> bin
  • Haga clic derecho en TortoiseGit> Eliminar y agregar a la lista de ignorados> obj
Denys Wessels
fuente
1
Funciona perfectamente. gracias @Denys Wessels
Biswajit Panday
2

Si desea ignorar bin y obj en TODOS sus proyectos, puede usar (desde la página de manual de gitignore )

Los patrones leen desde el archivo especificado por la variable de configuración core.excludesfile.

core.excludesfile se puede configurar en un archivo de configuración que es ~ / .gitconfig en Unix; no sé dónde está en Windows

mmmmmm
fuente
Buena información, pero se refería a todos sus proyectos de Visual Studio en esta solución, no a TODOS los proyectos en la máquina.
AhHatem
2
Aunque lo más probable es que nunca esté interesado en comprometer las carpetas biny objen NINGUNA solución. :)
MEMark
1

Si ha confirmado las carpetas bin y obj anteriormente, agregarlas a .gitignore no las eliminará automáticamente. Debe confirmar la eliminación de estas carpetas con, por ejemplo, git rm -rf objo git rm -rf yourProject/obj luego confirmar la eliminación

Rafael Pinel
fuente
0

Si intenta a través del árbol de fuentes y los archivos ignorados aún no llegan, vaya a herramientas -> opción-> Git y luego seleccione la ubicación del .gitignore ingrese la descripción de la imagen aquí

makdu
fuente
0

En mi caso, las carpetas bin y obj estaban anidadas en la carpeta Proyecto desde el archivo raíz .gitignore, así que tuve que agregarlo como se muestra a continuación:

[PROJECT_FOLDER_NAME] / bin
[PROJECT_FOLDER_NAME] / obj

Reemplaza PROJECT_FOLDER_NAME con el nombre de la carpeta de tu proyecto.

pk_code
fuente