Eso generalmente significa que un proceso todavía está usando ese archivo específico (todavía tiene un identificador)
(en Windows, ProcessExploreres bueno para rastrear ese tipo de proceso)
Intente cerrar sus otros programas e intente nuevamente su git pull.
Tenga en cuenta que tiene una alternativa con la GIT_ASK_YESNOvariable .
Actualización de enero de 2019:
Eso debería solucionarse aún más, con Git 2.21 (Q1 2019), ya que " git gc" y " git repack" no cerraron los archivos abiertos que encontraron innecesarios antes de eliminarlos, que no funcionaban en una plataforma incapaz de eliminar un archivo abierto.
Esto ha sido corregido.
Ver commit 5bdece0 (15 dic 2018) por Johannes Schindelin ( dscho) .
(Fusionada por Junio C Hamano - gitster- en commit 5104f8f , 18 ene 2019)
gc/ repack: liberar paquetes cuando sea necesario
En Windows, los archivos no se pueden eliminar ni cambiar de nombre si todavía hay un identificador en manos de un proceso.
Para remediar eso, presentamos la close_all_packs()función.
Anteriormente, nos aseguramos de que los paquetes se liberen justo antes de que git gcse generen, en caso de que gcquiera eliminar los paquetes que ya no son necesarios.
Pero este desarrollador olvidó que él gcmismo también debe soltar los paquetes, por ejemplo, al consolidar todos los paquetes a través de la --aggressiveopción.
Del mismo modo, git repack -ddesea eliminar paquetes obsoletos y, por lo tanto, también debe cerrar todos los identificadores de paquetes.
Actualización enero 2016
Eso debería arreglarse en Git 2.8 (marzo de 2016) (y ver Git 2.19, Q3 2018 a continuación)
Ver commit d562102 , commit dcacb1b , commit df617b5 , commit 0898c96 (13 de enero de 2016) por Johannes Schindelin ( dscho) .
(Fusionada por Junio C Hamano - gitster- en commit 3c80940 , 26 de enero de 2016)
fetch: liberar archivos de paquete antes de la recolección de basura
Antes de auto-gc'ing, debemos asegurarnos de que los archivos del paquete se liberen en caso de que necesiten ser reempaquetados y recolectados.
Muchas rutas de código que se ejecutan " gc --auto" antes de salir mantuvieron los archivos de paquete asignados y dejaron abiertos los descriptores de archivo, lo que no era amigable para los sistemas que no pueden eliminar archivos que están abiertos.
Ahora cierran los paquetes antes de hacerlo.
Eso soluciona el git-for-widowsproblema 500 .
Mirando la prueba utilizada para validar ese nuevo enfoque , una posible solución (ya que Git 2.8 aún no está disponible) sería plantear artificialmente gc.autoPackLimit.
git config gc.autoPackLimit 10000
git fetch
git config gc.autoPackLimit 50 # default value
git 2.8.4 (junio de 2016) menciona el problema 755 que también debería aliviar el problema ( commit 2db0641 ):
Asegúrese de que los procesos secundarios no hereden los identificadores de archivos temporales
En realidad, el git-for-windowsproblema 500 mencionado anteriormente está realmente solucionado con Git 2.19, Q3 2018.
Consulte " Git: desvinculación del archivo .idxy .packfalló (el único identificador de propiedad del proceso para este archivo es git.exe) "