hizo el trabajo dado respuesta para usted, si visor de procesos no está funcionando y luego reiniciar y, a continuación, puede eliminar el archivo, también se puede aceptar la respuesta si ha funcionado para usted
dhaval
1
También verifique que el proceso git tenga permisos de escritura en ese archivo.
Esto podría significar que otro programa está usando el archivo, lo que impide que git "mueva" el archivo dentro o fuera del directorio de trabajo cuando intenta cambiar las ramas.
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 usado. Si eso no funciona, salga por completo de cualquier aplicación que pueda haber abierto el archivo.
En Windows, use ProcessExplorer para encontrar qué proceso tiene abierto el archivo.
Dave C
2
¿Hay alguna manera de escribir una secuencia de comandos como "si este archivo no se puede eliminar (por ejemplo, el archivo simplemente no existe), simplemente omita el archivo".
2xMax
14
En mi caso, ese fue Visual Studio y su complemento Git.
Michał Powaga
8
En Windows, si no tiene ProcessExplorer disponible o no desea descargarlo, puede ejecutar (Windows + R) "resmon", ir a la pestaña CPU y buscar el nombre del archivo en el cuadro de texto "Identificadores asociados".
Raphael
66
Si lo usa GitKraken, puede obtener esto si ejecuta comandos como un rebase
mtpultz
285
Tuve este problema y lo resolví con el comando: el comando git gc
anterior elimina los archivos temporales e innecesarios. (Recolector de basura.)
git pulliniciado git gcautomáticamente, y gc intentó acceder a algunos archivos .pack y .inx. Estos fueron retenidos por el proceso "Windows Git", ese git pullcomando de propiedad . Ejecutar git gcmanualmente y que git pullrealmente resuelve el problema.
Nikita
44
Mientras se ejecuta git gctengo el mismo error otra vez cuando gcestaba en marcha
Prakash K
44
"Ejecutar git gc manualmente y luego - git pull realmente resuelve el problema". Esto ayudó Gracias nikita
sangam
Esto me ayudó también. Ejecuté esto en Windows con Git Bash
Ascalonian
Después de comenzar el git pull, recibí este error. Presioné CTRL + C para detener el tirón, ejecuté el git gc y luego git pull nuevamente, el problema había desaparecido y nada se rompió al interrumpir el tirón.
Esta es una respuesta específica de Windows, por lo que sé que no es relevante para usted ... Solo la incluyo para el beneficio de los futuros buscadores.
En mi caso, fue porque estaba ejecutando Git desde una línea de comando no elevada. "Ejecutar como administrador" me lo arregló.
Trabajó para mi. Ran VS como administrador y luego lanzó el símbolo del sistema de VS
Sentinel
3
I: escrito Ctrl+Cpara terminar la larga lista de archivos que no se pueden vincular; salí de gitbash, mi IDE y la aplicación de Windows GitHub; reinició gitbash en modo elevado "Ejecutar como administrador"; y corrió git gc --aggressive. Tardó un tiempo en completarse, pero lo logró sin errores.
Mark McClelland
Si cree que es un duplicado, debe marcarlo como tal, no agregar una respuesta que apunte a otra respuesta
Liam
2
@Liam Esta pregunta es anterior, pero esta respuesta fue solo para la otra pregunta, y no hay una sola respuesta a esta pregunta, lo que hace que sea más difícil establecer una como duplicada.
Sepehr
Esto funcionó bastante bien para mí. Ninguna de las respuestas anteriores lo hizo. Muchas gracias.
Me encontré con este problema en la máquina con Windows y esta solución no funcionó inicialmente. Sin embargo, una vez que ejecuté este comando desde un símbolo del sistema de administrador, resolvió mi problema.
William W
23
En mi caso no hay procesos que toquen el archivo o directorio. Tal vez sucede si la ruta es muy larga, debido a una restricción del sistema operativo (Windows). Intente habilitar el indicador de soporte de ruta larga en la configuración global de git como se indica a continuación:
git config --global core.longpaths true
o intente configurar 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.
core.longpathscon adicionales: reinicio --hard ciruela gc trabajado para mí - pero tuvo que cerrar Android Studio para no estropear con su acumulación en las herramientas
Esta es la única respuesta que ayudó en mi caso, usando Android Studio
0101100101
10
Como estoy usando gitkraken y símbolo del sistema, me encontré con el mismo problema. Y luego ejecuto el git gccomando, resolvió mi problema. Así que estoy feliz y quiero compartir algunos de los puntos que podrían ser útiles.
Que git gcva a hacer
git gc eliminar objetos inalcanzables que pueden haberse creado a partir de invocaciones anteriores de git add.
Cuando correr git gc?
Desde doc , se alienta a los usuarios a ejecutar 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 hacer que sea autoconfigurable?
Algunos comandos git pueden ejecutar automáticamente git gc; vea la bandera --auto a continuación para más detalles. Si sabe lo que está haciendo y todo lo que quiere es deshabilitar este comportamiento permanentemente sin más consideraciones, simplemente haga
Tuve este tipo de problema en Windows 7 y resultó ser debido a algún git.exeproceso huérfano .
Para resolverlo, abra el Administrador de tareas y elimine todos los git.exeprocesos.
Como los gitcomandos son de corta duración, normalmente nunca debería ver ninguno git.exeen el Administrador de tareas. Cuando están allí, generalmente significa que algo está mal, y debes eliminar esos procesos.
Tuve este problema con los .tmparchivos en la /.git/objects/packcarpeta. Creo que algo había fallado durante una inserción o extracción, por lo que eliminé estos archivos temporales y restablecí el HEAD a mi último commit. No estoy seguro si esto es aconsejable, pero funcionó para mí. También git count-objects -vme dio una lista de los .tmparchivos que no pertenecían a la carpeta del paquete.
O para suprimir los mensajes y / n en Windows git open cmd.exey ejecutar:
Si bien este es un intento de respuesta, no agrega nada que no esté cubierto por otras respuestas (como esta ). Si está intentando confirmar que esta solución funciona o desea agradecerle al autor de esa respuesta, no publique una respuesta para hacerlo. Después de ganar más reputación , obtendrá los privilegios suficientes para votar las respuestas que desee, que es la forma en que Stack Overflow dice gracias.
Como se indicó anteriormente, hay algo más que contiene los archivos. La cosa es que ese programa no parece sospechoso para nosotros. Estaba tratando de hacer un git pull desde la consola, mientras tenía GitKraken abierto. Al cerrar GitKraken se solucionó el problema.
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 la aplicación web en el servidor, no puedo eliminar el archivo de registro. Apague el servidor de aplicaciones (o apague el proceso de depuración), vuelva a intentar
Me encontré con este problema ejecutando git Bash y Eclipse EGit al mismo tiempo. Solución: cierre Eclipse. Tampoco estaría de más correr git gccomo 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 me resolvieron el problema.
Si está desarrollando una aplicación web, una razón común es olvidarse de apagar el servidor. Por ejemplo, esto podría ser un simple proceso Node.js, o en Windows, su proceso IIS se ejecuta de manera más discreta como proceso en segundo plano.
Intenté cada consejo en esta página y nada me ayudó. Estaba haciendo un git fetchy ungit reset --hard origin/development me dio el error Enderece. No pude restablecer la última confirmación.
Lo que ayudó fue verificar otra rama y luego verificar la rama anterior. Muy extraño pero resolvió el problema.
Si cerrar su IDE y ejecutar varios comandos git enumerados aquí no ayudará, intente eliminar manualmente todos los procesos Java en ejecución. Probablemente me quedó un proceso de Java del eclipse que de alguna manera mantuvo abierto un archivo de configuración.
Si está utilizando Docker y ejecuta Windows 10, es posible que desee detener los contenedores donde se puede ejecutar el archivo. Para mostrar los estados de sus contenedores, ejecute
docker ps -a
Para detenerlos, simplemente corre
docker stop <container name or container id>
Esto funcionó para mí ya que estoy ejecutando mis archivos locales usando un archivo .sh
En Windows, vi este error en un git clonerepositorio (bastante grande). Cerrado SmartGit y se detuvo el software de copia de seguridad (CrashPlan), y después de que haya funcionado. No estoy seguro de cuál de los 2 hizo el truco, pero si se ejecuta cualquiera de los dos, esto también podría hacerlo por usted.
Tuve el mismo problema al hacer un git pull y, como se indicó anteriormente, se debió 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 registran los archivos lo mantendrá en segundo plano. Cerrar el mismo y volver a ejecutar git pull me resolvió el problema.
Respuestas:
Esto podría significar que otro programa está usando el archivo, lo que impide que git "mueva" el archivo dentro o fuera del directorio de trabajo cuando intenta cambiar las ramas.
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 usado. Si eso no funciona, salga por completo de cualquier aplicación que pueda haber abierto el archivo.
fuente
GitKraken
, puede obtener esto si ejecuta comandos como un rebaseTuve este problema y lo resolví con el comando: el comando
git gc
anterior elimina los archivos temporales e innecesarios. (Recolector de basura.)fuente
git pull
iniciadogit gc
automáticamente, y gc intentó acceder a algunos archivos .pack y .inx. Estos fueron retenidos por el proceso "Windows Git", esegit pull
comando de propiedad . Ejecutargit gc
manualmente y quegit pull
realmente resuelve el problema.git gc
tengo el mismo error otra vez cuandogc
estaba en marchaesta solución desde aquí funcionó para mí:
fuente
Ctrl+C
para terminar la larga lista de archivos que no se pueden vincular; salí de gitbash, mi IDE y la aplicación de Windows GitHub; reinició gitbash en modo elevado "Ejecutar como administrador"; y corriógit gc --aggressive
. Tardó un tiempo en completarse, pero lo logró sin errores.Encontré este problema al hacer un
git pull
.Lo intenté
git gc
y resolvió mi problema.fuente
En mi caso no hay procesos que toquen el archivo o directorio. Tal vez sucede si la ruta es muy larga, debido a una restricción del sistema operativo (Windows). Intente habilitar el indicador de soporte de ruta larga en la configuración global de git como se indica a continuación:
o intente configurar el indicador de respuesta sí / no si no es conflictivo para usted
Si el camino es demasiado largo, no he encontrado una solución exitosa.
fuente
GIT_ASK_YESNO
, no puedo encontrar información sobre este. De dónde viene ?core.longpaths
con adicionales: reinicio --hard ciruela gc trabajado para mí - pero tuvo que cerrar Android Studio para no estropear con su acumulación en las herramientasLo intenté
git gc
y resolvió mi problema.fuente
Esto podría ser útil para alguien; Si todo lo anterior no funcionó para usted, siga estos pasos:
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.
Abra git desde la línea de comando (en mi caso tenía git bash) y ejecútelo
git gc
como lo han mencionado otros.Esto hizo la magia para mí.
fuente
Como estoy usando gitkraken y símbolo del sistema, me encontré con el mismo problema. Y luego ejecuto el
git gc
comando, resolvió mi problema. Así que estoy feliz y quiero compartir algunos de los puntos que podrían ser útiles.Que
git gc
va a hacergit gc
eliminar objetos inalcanzables que pueden haberse creado a partir de invocaciones anteriores de git add.Cuando correr
git gc
?Desde doc , se alienta a los usuarios a ejecutar 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 hacer que sea autoconfigurable?
Algunos comandos git pueden ejecutar automáticamente git gc; vea la bandera --auto a continuación para más detalles. Si sabe lo que está haciendo y todo lo que quiere es deshabilitar este comportamiento permanentemente sin más consideraciones, simplemente haga
fuente
En mi caso (Win8.1, TortoiseGit ejecutándose), fue el proceso llamado "caché de estado TortoiseSVN" que bloqueaba el archivo.
Matarlo me permitió ejecutar "git gc" sin más problemas. TortoiseGit activa el proceso anterior, por lo que no es necesario reiniciarlo manualmente.
fuente
Tuve este tipo de problema en Windows 7 y resultó ser debido a algún
git.exe
proceso huérfano .Para resolverlo, abra el Administrador de tareas y elimine todos los
git.exe
procesos.Como los
git
comandos son de corta duración, normalmente nunca debería ver ningunogit.exe
en el Administrador de tareas. Cuando están allí, generalmente significa que algo está mal, y debes eliminar esos procesos.fuente
Tengo este problema en Windows. Cerré mi IDE (Android Studio) y seleccioné SÍ en git shell. Funcionó.
fuente
En Windows 8: ejecuté git gc y decía que git gc ya se estaba ejecutando, ejecuté git gc --force y ejecutó el recolector de basura.
Luego podría cambiar ramas y fusionar sin ningún problema, intente git gc --force.
Quizás el proceso gc no se detuvo con gracia por una razón u otra.
fuente
Tuve este problema con los
.tmp
archivos en la/.git/objects/pack
carpeta. Creo que algo había fallado durante una inserción o extracción, por lo que eliminé estos archivos temporales y restablecí el HEAD a mi último commit. No estoy seguro si esto es aconsejable, pero funcionó para mí. Tambiéngit count-objects -v
me dio una lista de los.tmp
archivos que no pertenecían a la carpeta del paquete.O para suprimir los mensajes y / n en Windows
git open cmd.exe
y ejecutar:visto aquí: https://twitter.com/petercamfield/status/494805475733807104
fuente
git gc
,git count-objects -v
ayuda a identificar los objetos temporales sobrantes en lapack
carpeta.Pude resolver esto abriendo Powershell como Administrador y desde allí
git checkout <branch_name>
fuente
Me enfrenté al mismo problema mientras hacía 'git pull'. Intenté el comando git de limpieza manual 'git gc' y resolvió mi problema.
fuente
Después de probar varias soluciones finalmente
git clean -f
me ayudaron.EDITAR: Me encuentro con el problema varias veces: cerrar todos los procesos que dependen de git parece ayudar (como gitbash, Eclipse IDE, etc.)
fuente
Como se indicó anteriormente, hay algo más que contiene los archivos. La cosa es que ese programa no parece sospechoso para nosotros. Estaba tratando de hacer un git pull desde la consola, mientras tenía GitKraken abierto. Al cerrar GitKraken se solucionó el problema.
fuente
Después de ejecutar el comando
Veo error
Porque otro programa está usando este archivo . Por ejemplo, cuando ejecuto la aplicación web Java en el modelo de depuración o la aplicación web en el servidor, no puedo eliminar el archivo de registro. Apague el servidor de aplicaciones (o apague el proceso de depuración), vuelva a intentar
Veo que el archivo ha sido eliminado.
fuente
Esta puede ser una ventana separada de gitk ejecutándose para ver un poco de historial de git.
Simplemente cierre esa ventana para solucionar ese problema.
fuente
Me encontré con este problema ejecutando git Bash y Eclipse EGit al mismo tiempo. Solución: cierre Eclipse. Tampoco estaría de más correr
git gc
como mencionó @khilo.fuente
Después de que ninguna de las respuestas anteriores parecía funcionar, correr
git fetch -p
hizo el trabajo por mí.https://git-scm.com/docs/git-fetch
fuente
Me encontré con este problema en Windows, es posible que desee ejecutar git bash como administrador y luego ejecutar los comandos de deseo, que me resolvieron el problema.
fuente
Si está desarrollando una aplicación web, una razón común es olvidarse de apagar el servidor. Por ejemplo, esto podría ser un simple proceso Node.js, o en Windows, su proceso IIS se ejecuta de manera más discreta como proceso en segundo plano.
fuente
Intenté cada consejo en esta página y nada me ayudó. Estaba haciendo un
git fetch
y ungit reset --hard origin/development
me dio el error Enderece. No pude restablecer la última confirmación.Lo que ayudó fue verificar otra rama y luego verificar la rama anterior. Muy extraño pero resolvió el problema.
fuente
Si cerrar su IDE y ejecutar varios comandos git enumerados aquí no ayudará, intente eliminar manualmente todos los procesos Java en ejecución. Probablemente me quedó un proceso de Java del eclipse que de alguna manera mantuvo abierto un archivo de configuración.
fuente
Si está utilizando Docker y ejecuta Windows 10, es posible que desee detener los contenedores donde se puede ejecutar el archivo. Para mostrar los estados de sus contenedores, ejecute
docker ps -a
Para detenerlos, simplemente corre
docker stop <container name or container id>
Esto funcionó para mí ya que estoy ejecutando mis archivos locales usando un archivo .sh
fuente
Trabajó para mí, probé en windows:
Detén tu servidor ejecutar desde IDE o cierre su IDE
Intellij / Ecllipse o cualquiera, funcionará.
fuente
En Windows, vi este error en un
git clone
repositorio (bastante grande). Cerrado SmartGit y se detuvo el software de copia de seguridad (CrashPlan), y después de que haya funcionado. No estoy seguro de cuál de los 2 hizo el truco, pero si se ejecuta cualquiera de los dos, esto también podría hacerlo por usted.fuente
Tuve el mismo problema al hacer un git pull y, como se indicó anteriormente, se debió 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 registran los archivos lo mantendrá en segundo plano. Cerrar el mismo y volver a ejecutar git pull me resolvió el problema.
fuente
Tuve este mismo error y al cerrar la aplicación que tenía el archivo abierto lo resolvió. Pude regresar y presionar "Y"
fuente