GIT: "fatal: incapable d'écrire un nouveau fichier index" pendant la propagation

quand j'essaye de propager des modifications à la repo locale, j'ai le message suivant:

fatal: impossible d'écrire le fichier new_index

22
demandé sur Justin M. Keyes 2010-09-15 09:59:53

11 réponses

Comme ceci fil d'illustration, c'est généralement un problème d'espace disque:

$ git status
fatal: unable to write new_index file

Une cause de ce que j'ai trouvé était que mon système de fichiers a court d'espace.

La recherche de grands répertoires avec quelque chose comme ceci a aidé à nettoyer quelques fichiers journaux qui avaient fonctionné avec wild :

$ du -h / | grep ^[0-9.]*G

le problème est toujours resté donc j'ai lancé le moniteur de fichier de la Suite Sysinternals.

Il semble Qu'Eclipse accède au fichier index en permanence et bloque la ligne de commande git

Ouais, on dirait que Windows Defender frappe à nouveau. J'ai toujours oublié de désactiver cette fichue chose. Je n'arrive pas à croire à quel point c'est cassé. Détruire Blu-ray joue à la maison, il pète les plombs au boulot...

29
répondu VonC 2010-09-15 06:08:18

Si vous utilisez TortoiseGit, cette erreur (ou plus récemment: erreur: incapable d'écrire index.) est très probablement causé par icône de TortoiseGit superposée activé. Pour désactiver les superpositions d'icônes, allez à:

TortoiseGit > Paramètres > Recouvrements D'Icône

et définissez cache D'ÉtatAucun. Cela peut être corrigé dans une future version de TortoiseGit, mais pour l'instant, il semble être commun.

14
répondu Justin M. Keyes 2012-02-21 19:40:02

j'ai eu la même erreur en fusionnant un git repo monté sur sshfs. Il n'y avait pas de manque d'espace nulle part.

dans mon cas, la solution était d'ajouter une option-o workaround=rename à la commande mount de sshfs.

Comme: sshfs -o idmap d'utilisateur=- o uid=[lokal uid] -o gid=[lokal gid] -o solution de contournement=renommer [hôte]: [point]

7
répondu Phluks 2011-12-20 10:38:13

j'ai trouvé la solution. Juste besoin de libérer de l'espace disque.

3
répondu Stepan Kuzmin 2010-09-15 06:01:43

j'ai suivi toutes les solutions ici et aucune n'a fonctionné. Je ne manque pas d'espace disque, J'ai désactivé Windows Defender, désactivé ICON overlays et autres. J'avais des tonnes de fichiers à importer et peut-être que cela causait le problème (j'avais boost bibliothèques entre autres).

j'ai simplement ouvert "Git Bash" et a publié un certain nombre de git add et git commit et tout s'est bien passé. Cela a quelque chose à voir avec TortoiseGit, mais je ne suis pas sûr de quoi. Il semble s'étouffer sur un grand nombre de fichiers ou grande profondeur de répertoire.

3
répondu wpfwannabe 2012-06-07 13:32:36

j'ai eu cette erreur en utilisant Cygwin et git-svn. La solution qui a fonctionné pour moi était de faire de la collecte des ordures (aussi étrange que cela paraisse à l'époque):


$ git gc

3
répondu skybert 2014-11-26 09:41:02

j'ai eu le même problème. Dans mon cas, les solutions ci-dessus n'ont pas fonctionné.

La raison de cette erreur est que le fichier .git/index a été corrompu pour une raison inconnue. Je viens de renommer le fichier pour quelque chose d'autre et d'exécuter le 'git add . commande de git bash et ça a marché.

Espérons que cela aide quelqu'un.

2
répondu philomath 2016-03-08 09:18:32

j'avais ce problème, mais j'ai pu m'engager avec msysgit. J'ai mis à jour tortoisegit, et j'ai aussi remarqué que ma version msysgit n'était pas synchronisée avec tortoise git. Je ne suis pas sûr si la dernière version l'a corrigé, ou si elle était due à avoir différentes versions de tortue et msysgit. De toute façon, une autre chose à vérifier. Tout a commencé à fonctionner après les avoir mis à jour tous les deux pour TortoiseGit 1.7.10.0 git version 1.7.10.msysgit.1

1
répondu Duane McKinney 2012-06-20 22:55:34

j'ai utilisé Unlocker.git\index.lock pour déverrouiller toutes les poignées qui sont ouverts par d'autres processus. Dans mon cas, C'était TGitCache.EXE.

0
répondu Rami A. 2012-06-08 03:01:06

Pour moi, c'était un problème de verrouillage de fichier.

Pour le résoudre j'ai:

  1. copié le fichier index (situé dans le caché ".git" dossier)
  2. Supprimé l'original
  3. renommé la copie de nouveau à 'index'

Espérons que cette aide!

0
répondu Cossens 2017-02-03 02:18:09

j'ai eu le même problème sur macOS, Je l'ai résolu en enlevant repo_folder/.git/index.lock

0
répondu alec_djinn 2018-09-11 10:23:26