¿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?
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:
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).
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.
Abrir Team Explorer
Haga clic en configuración
Configuración del repositorio
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.
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
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
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.
obj
ybin
en un nivel superior .gitignore debería ignorar todo lo llamadoobj
obin
en todos los niveles inferiores.Respuestas:
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:
fuente
packages
que puede volver a descargarlos fácilmente de NuGetsimplemente hacer una entrada en gitignore puede no ignorar los archivos, es posible que deba confirmarlo. Usé el siguiente método y trabajé para mí.
luego
Sin embargo, esto ignora mi carpeta de scripts que incluí más tarde en el repositorio.
fuente
Si está utilizando Visual Studio, existe una forma sencilla de hacerlo.
Creará un archivo .gitignore predeterminado, que ignorará la mayoría de las carpetas y archivos comunes que utilizará el framework / idioma.
fuente
bin
yobj
carpetas en el Explorador de Windowsfuente
Si desea ignorar bin y obj en TODOS sus proyectos, puede usar (desde la página de manual de gitignore )
core.excludesfile se puede configurar en un archivo de configuración que es ~ / .gitconfig en Unix; no sé dónde está en Windows
fuente
bin
yobj
en NINGUNA solución. :)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 obj
ogit rm -rf yourProject/obj
luego confirmar la eliminaciónfuente
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
fuente
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.
fuente