He visto muchos de los otros hilos sobre esto y no ayudan.
Tengo un repositorio muy simple: dos archivos JavaScript. Tengo más de 100 GB en Macbook. Cuando intento mover los archivos a un subdirectorio y poner en escena localmente los cambios que obtengo ...
fatal: no se puede escribir un nuevo archivo de índice
Esto sucede si hago todas las acciones en la terminal o si uso una GUI como SourceTree. Además, uno de los archivos se bloquea y no puedo eliminar el directorio de trabajo hasta que cierre la sesión y vuelva a iniciarla.
¿Por qué está pasando esto? ¿La cerradura impide que algo se ponga en escena? Si es así, ¿qué / cómo desbloqueo el archivo del problema en OS X? El repositorio remoto es Google Code, si eso marca la diferencia, aunque todavía no lo estoy presionando. Todo es local.
./git
carpeta.Respuestas:
En mi caso, el disco se quedó sin espacio, por lo que tuve que eliminar archivos del disco duro para hacer espacio.
fuente
He tenido este mismo problema durante los últimos días. Básicamente, sin mi conocimiento, todo el repositorio se había movido a un nuevo sistema de archivos, cuando intenté ejecutar el estado de git, de repente me informaba que cada archivo en el repositorio había sido actualizado.
Soluciones posibles
Entonces, después de mucho buscar en Google, probé lo siguiente:
tl: dr - solución sucia
Lo único que logró resolver el problema fue copiar el archivo de índice, eliminar el original y cambiar el nombre de la copia.
Sé que no es realmente una 'solución', pero ahora funciona mágicamente> <, con todos los archivos / ramas intactos. Si alguien sabe por qué esto podría funcionar, dígaselo.
fuente
En mi caso, pausar la sincronización de Dropbox resolvió el problema
fuente
Tuve el mismo problema en una Mac. Parece ser causado por las ACL del sistema de archivos. Intente
chmod -RN /path/to/repo
borrar las ACL. Después de hacer esto pude cometer cambios. Usando el truco para copiar el archivo de índice, eliminar el original y mover la copia hacia atrás logró el mismo resultado.fuente
Si tiene su configuración de github en algún tipo de servicio de sincronización en línea, como google drive o dropbox, intente deshabilitar la sincronización ya que el servicio de sincronización intenta leer / escribir en el archivo ya que github intenta hacer lo mismo, lo que hace que github no funcione correctamente.
fuente
Me sucedió que el archivo .git / index estaba siendo utilizado por otro proceso (mi servidor web de desarrollo local). Cerré el proceso y luego funcionó.
fuente
El cierre del código de Visual Studio (que en mi caso tiene un trabajo en segundo plano de carga automática que se ejecuta en guardar archivos) resolvió el problema por mí.
Crédito por la solución: mi amigo y colega Arnel.
fuente
Esto funcionó para mí:
fuente
En mi caso, la solución solo agregaba permiso al nuevo usuario.
Cuando instalé un nuevo sistema operativo, moví mis repositorios y estaba mostrando este error exacto. Seleccioné la carpeta raíz y luego agregué al usuario autenticado para verificar todo
fuente
Tenía ACL (de alguna manera) adjunto a todos los archivos en la carpeta .git.
Compruébalo
ls -le
en la carpeta .git.Puede eliminar la ACL con
chmod -N
(para una carpeta / archivo) ochmod -RN
(recursivo)fuente
Creo que algunas soluciones de respaldo en segundo plano como Google Backup y Sync bloquean el acceso al archivo de índice. Cerré la aplicación y Sourcetree no tuvo ningún problema. Parece que Dropbox hace lo mismo (@tonymayoral).
fuente
En mi caso fue un EGit concurrente. Después de reiniciar eclipse, funciona como de costumbre.
fuente
Si está en un cuadro de Windows, asegúrese de que el programa que está utilizando, ya sea Source Tree o un terminal git, se esté ejecutando como administrador. Recibía el mismo mensaje de error exacto. Puede hacer clic derecho en el programa para ejecutarlo como administrador o cambiar sus propiedades para que siempre se ejecute como administrador.
fuente
No tener suficiente espacio es un problema. Limpieza e intente nuevamente
fuente
Yo tuve el mismo problema. Reinicié mi computadora y el problema se resolvió.
fuente
¿Intentaste 'git add'? . ¿serán todos los cambios? (puede eliminar archivos añadidos innecesarios mediante git reset HEAD)
fuente
El mensaje de error
fatal: Unable to write new index file
significa que no pudimos escribir el nuevo contenido en el archivo de índice git.git\index
(consulte aquí para obtener más información sobre el índice git). Después de revisar todas las respuestas a esta pregunta, resumo las siguientes causas raíz:.git\index
están bloqueados por otros usuarios o procesos. ( Solución : desbloquee el archivo)El enlace Averiguar qué proceso está bloqueando un archivo o carpeta en Windows especifica el siguiente enfoque para descubrir el proceso que está bloqueando un archivo específico:
Use el enfoque anterior para encontrar qué proceso bloqueó
.git\index
y luego detenga el ejecutable de bloqueo. Esto se desbloquea.git\index
.Por ejemplo, Process Explorer Search muestra que
.git\index
está bloqueado porvmware-vmx.exe
. La suspensión de la máquina virtual VMWare Player (que accedió al repositorio de git a través de una carpeta compartida) resolvió el problema.fuente
SI TIENE ESTO DURANTE UNA REEMBOLSO:
Esto es probablemente causado por algún software que bloquea el archivo de índice de su repositorio, como software de respaldo, antivirus, IDEs u otros clientes git.
En la mayoría de los casos, el bloqueo es solo por un breve momento y, por lo tanto, se produce por falta de tiempo y mala suerte.
Sin embargo,
git rebase --continue
se quejará de que el siguiente comando es una confirmación vacía:Para solucionar esto, simplemente ejecute
git reset
e intentegit rebase --continue
nuevamente.fuente
Problema: cuando estaba revisando algunos archivos modificados en git, recibí este error. Estaba teniendo dos usuarios ABC y XYZ. los archivos tienen uid: gid de ABC pero no tiene acceso git y está tratando de pagar los archivos con el mismo.
La solución que probé: XYZ es tener acceso git, intenté revisar archivos con sudo y funcionó ... !!
fuente
Esto es lo que funcionó para mí:
Contexto:
Construyendo un proyecto en un servidor
git status
devuelve unHEAD detached at <commit-SHA>
Cualquier operación que hice localmente, tuve este error. Más específicamente:
Solución
<work-dir>/.git/index
.git status
indicaría que no se realiza un seguimiento de todos los archivos en el proyecto (no sorprende aquí).git reset HEAD --hard
HEAD detached at <commit-SHA>
cuando hacer ungit status
, pero entonces deberías podergit checkout <some-branch>
y vuelves a la pista!
!! IMPORTANTE !!
Esto funciona solo porque estoy construyendo "merly". No se ha realizado ninguna modificación preciosa en el código. Si realmente está en "tiempo de desarrollo", entonces recomendaría guardar su trabajo primero o elegir otro método.
Espero que ayude :).
fuente
Tuve este problema al usar GitExtensions en Windows. Se solucionó otorgando un permiso completo para el usuario actual (yo) en la carpeta que contenía el repositorio.
En otra ocasión, aunque recibí el error de Git Extensions, pude confirmar los mismos archivos de Visual Studio 2015.
En otra ocasión tuve que eliminar el archivo "índice" de la carpeta .git
fuente
Mi caso es un poco interesante:
Ejecuto git log para verificar un cierto commit, luego no lo dejé correctamente, presiono ctrl + c para salir.
Entonces el índice parece bloqueado. Entonces ejecuto git log nuevamente, luego presiono Q para salir.
Problema fijo. :)
fuente
En mi caso, fue una
nodemon
instancia que observaba el sistema de archivos en busca de cambios.fuente