tag remove practices crear commits commands best git unlink

git - remove - Desvinculación del archivo fallido. ¿Debo intentarlo de nuevo?



git tag commits (26)

Como se indicó anteriormente, otra cosa es la celebración de los archivos. La cosa es que el programa no nos parece sospechoso. Estaba tratando de hacer un git pull desde la consola, mientras abría GitKraken. Cerrar GitKraken solucionó el problema.

Algo malo está sucediendo con uno de los archivos en mi repositorio de git local. Cuando intento cambiar la rama dice:

Unlink of file ''templates/media/container.html'' failed. Should I try again? (y/n)

¿Qué podría significar eso?


Como uso gitkraken y el símbolo del sistema, me encontré con el mismo problema. Y luego ejecuto el comando git gc que resolvió mi problema. Así que estoy contento y quiero compartir algunos de los puntos que podrían ser útiles.

¿Qué git gc hará?

git gc elimina objetos inalcanzables que pueden haber sido creados a partir de invocaciones anteriores de git add.

¿Cuándo ejecutar git gc ?

Desde doc , se recomienda a los usuarios que ejecuten esta tarea de forma regular dentro de cada repositorio para mantener una buena utilización del espacio en disco y un buen rendimiento operativo.

¿Cómo hacerlo auto-configurable?

Algunos comandos de git pueden ejecutar git gc automáticamente; vea la bandera --auto abajo para más detalles. Si sabe lo que está haciendo y todo lo que desea es deshabilitar este comportamiento de forma permanente sin más consideraciones, simplemente haga

git config --global gc.auto 0


Después de ejecutar el comando

git rm -rf foo.bar

Veo error

Unlink of file ''foo.bar'' failed. Should I try again? (y/n)

Porque otro programa está usando este archivo . Por ejemplo, cuando ejecuto la aplicación web Java en el modelo de depuración o ejecuto la aplicación web en el servidor, no puedo eliminar el archivo de registro. Desactive el servidor de aplicaciones (o desactive el proceso de depuración), vuelva a intentarlo

git rm -rf foo.bar

Veo que el archivo ha sido borrado.


Después de probar varias soluciones, finalmente git clean -f me ayudó.

EDITAR: Vuelvo a solucionar el problema varias veces: cerrar todos los procesos que dependen de git parece ayudar (como gitbash, Eclipse IDE, etc.)



En Windows 8: Corrí git gc y dije que git gc ya estaba corriendo, corrí git gc --force y el recolector de basura corrió.

Luego podría cambiar de rama y fusionar sin problemas, pruebe con git gc --force.

Quizás el proceso de GC no se detuvo con gracia por una razón u otra.


En Windows, vio este error en un git clone de git clone de un repositorio (bastante grande). SmartGit y SmartGit mi software de copia de seguridad (CrashPlan), y después de eso funcionó. No estoy seguro de cuál de los 2 hizo el truco, pero si ejecuta cualquiera de los dos, esto también podría hacerlo por usted.


En mi caso (Win8.1, TortoiseGit en ejecución), fue el proceso denominado "caché de estado TortoiseSVN" el que estaba bloqueando el archivo.

Matarlo me permitió ejecutar "git gc" sin más problemas. TortoiseGit inicia el proceso anterior, por lo que no es necesario reiniciarlo manualmente.


En mi caso no hay procesos tocando el archivo o directorio. Tal vez suceda si la ruta es muy larga, debido a una restricción del sistema operativo (ventanas). Intente habilitar el indicador de soporte de longpath en la configuración global de git como se indica a continuación:

git config --global core.longpaths true

o intente establecer el indicador de respuesta sí / no si no es conflictivo para usted

set GIT_ASK_YESNO=false

Si el camino es demasiado largo, no he encontrado una solución exitosa.


Esta puede ser una ventana de gitk independiente que se ejecuta para ver un poco del historial de gitk.

Solo cierra esa ventana para arreglar ese problema.


Esta solución desde here funcionó para mí:

Esta es una respuesta específica de Windows, por lo que soy consciente de que no es relevante para usted ... Solo la estoy incluyendo para el beneficio de futuros buscadores.

En mi caso, fue porque estaba ejecutando Git desde una línea de comandos no elevada. "Ejecutar como administrador" me lo arregló.


Esto podría ser útil para alguien; Si todo lo anterior no funcionó para ti, sigue estos pasos:

  1. Cierre su IDE (el mío era Eclipse, no estoy seguro si se aplica a Intellij y otros) o cualquier otra aplicación que pueda estar usando git.

  2. Abra git desde la línea de comandos (en mi caso tuve git bash) y ejecute git gc como lo mencionaron otros.

Esto hizo la magia para mí.


Esto podría significar que otro programa está utilizando el archivo, lo que impide que git "mueva" el archivo dentro o fuera del directorio de trabajo cuando intenta cambiar de sucursal.

Esto sucedió en Windows Vista, donde eclipse es el programa que "usa" el archivo. El archivo puede no estar realmente abierto en eclipse pero puede haber sido abierto por un proceso ejecutado por eclipse.

En este caso, intente cerrar el archivo en cualquier aplicación que pueda haberlo utilizado. Si eso no funciona, salga completamente de cualquier aplicación que pueda haber abierto el archivo.


Intenté cada consejo en esta página y nada ayudó. Estaba haciendo un git fetch y un git reset --hard origin/development duro me dio el error de "Unkink". No pude reiniciar a la última confirmación.

Lo que ayudó fue revisar otra rama y luego revisar la rama anterior. Muy extraño pero resolvió el problema.


Me encontré con este problema ejecutando git Bash y Eclipse EGit al mismo tiempo. Solución: cierre Eclipse. Tampoco haría daño correr git gc como mencionó @khilo.


Me encontré con este problema en Windows, es posible que desee ejecutar git bash como administrador y luego ejecutar los comandos de deseo, que resolvieron el problema por mí.


Me encontré con este problema mientras hacía un git pull .

git gc y resolví mi problema.


Me enfrenté al mismo problema mientras hacía ''git pull''. Probé el comando ''git gc'' del servicio de limpieza manual y resolví mi problema.


Si está desarrollando una aplicación web, una razón común es olvidar cerrar el servidor. Por ejemplo, esto podría ser un proceso simple de Node.js, o en Windows, su proceso de IIS se ejecuta de forma más discreta como proceso en segundo plano.


Tengo este problema en Windows. Cerré mi IDE (Android Studio) y seleccioné YES en git shell. Funcionó.


Tuve el mismo problema al hacer un git pull y, como se indicó anteriormente, fue debido a un programa que contenía esos archivos y no permitía un git pull. El cierre del programa ayudó. Por lo general, el IDE (como Eclipse) desde donde se guardan los archivos se guardará en segundo plano. Cerrar lo mismo y volver a ejecutar Git Pull me solucionó el problema.


Tuve este mismo error y el cierre de la aplicación que tenía el archivo abierto lo resolvió. Pude regresar y presionar "Y"


Tuve este problema con los archivos .tmp en la carpeta /.git/objects/pack . Creo que algo había fallado durante un push o pull, así que eliminé estos archivos temporales y restablecí el HEAD a mi último commit. No estoy seguro de si esto se aconseja pero funcionó para mí. También git count-objects -v me dio una lista de los archivos .tmp que no pertenecían a la carpeta del paquete.

O para suprimir los mensajes de y / n en windows, git open cmd.exe y ejecute:

SETX GIT_ASK_YESNO false

visto aquí: https://twitter.com/petercamfield/status/494805475733807104


Tuve este problema y lo resolví con el comando: git gc El comando anterior elimina los archivos temporales y innecesarios. (Recolector de basura.)


Tuve este tipo de problema en Windows 7 y resultó ser debido a algún proceso git.exe huérfano.

Para resolverlo, abra el Administrador de tareas y git.exe todos los procesos git.exe .

Como los comandos de git son de corta duración, normalmente nunca debería ver ningún git.exe en el Administrador de tareas. Cuando están allí, por lo general significa que algo está mal, y debes matar esos procesos.


git gc y resolví mi problema.