git problème : fatal: Impossible d'écrire dans le nouveau fichier d'index
J'ai déjà un projet qui a été géré sous git. J'ai récemment eu à faire au sol jusqu'à la reconstruction de l'ordinateur (mac OS X Snow Leopard), et le retour au projet, git peut suivre les modifications dans le projet, mais je ne peux pas sauver quoi que ce soit à git. Je reçois le message d'erreur dans le titre, lorsque j'essaie :
Dans-iMac-335:[app-name-obscured] apple$ git add app/models/*
fatal: Unable to write new index file
Quelle est la meilleure façon de se sortir de cette situation? Il y a un heroku version du dépôt de cela, mais il est très en décalage avec celui-ci. sans doute je pourrais utiliser un nouveau clone de base, et la mise à jour de chaque fichier, mais qui semble plus laborieux et sujettes à erreur.
Qu'est-ce que git cherche ici qu'il ne peut pas le trouver, et s'il y a un changement qui permettra de les restaurer?
BTW, les autorisations de fichier sont corrects à partir de ce que je peux dire - les fichiers sous le contrôle et la .git composants sont détenues par moi avec rw accès...
Vous devez vous connecter pour publier un commentaire.
J'ai juste couru dans la même situation, il s'est avéré que mon système était plein.
du
. [edit pour markdown]Vous avez accès en écriture .git (=vous pouvez créer de nouveaux fichiers et de modifier celles existantes)? Si non, alors ajuster les autorisations de fichier.
Si vous disposez des autorisations d'écriture, il semble que vous avez trouvé un bug. Vous pouvez essayer de récupérer par
Lors de la dernière étape fonctionne, vous devez configurer la télécommande branches à partir de votre repo pour le clone, et puis vous pouvez utiliser la cloné pensions que votre nouvelle copie de travail.
J'ai été à l'aide de Parallels Ubuntu sur mon Mac. Je pourrais git init, mais pas git add. Je crois que le problème est que la commande git add nécessite une synchronisation atomique de la sous-base de données de git. Et depuis le système de fichiers que j'utilisais était en fait sur mon Mac et Parallels a l'exportation à partir de mon Mac via un partage réseau. Je crois que cela signifie que git ne pouvais pas faire ce qu'il voulait. Déplacer les fichiers localement résolu le problème (Dans mon cas, cela a été facile, car j'ai été en utilisant DropBox sur mon Mac, je viens d'installer DropBox sur mon Ubuntu cours d'exécution Parallèles)
J'ai eu un similaires problème avec SFTP Lecteur Réseau (gratuit). La solution est la suivante: remplir chekcbox "Supprimer cible avant de passer" dans les Paramètres du Profil de SFTP Lecteur Réseau.
J'ai été en mesure de résoudre ce problème en allant dans le .git dans le dossier git lancé application et la suppression de l'index.verrouiller/fichier d'index. J'ai dû ré-indexer la totalité de l'app, mais il a résolu le problème.
Si vous utilisez
sshfs
, ajoutez l'option-o workaround=rename
, comme décrit ici: http://alan.lamielle.net/2009/07/08/git-over-sshfsJe tiens à souligner encore une cause de cette erreur
Si vous clonez un dépôt git qui contient un autre dépôt git dans (pas de sous-module), vous obtiendrez ce comportement.
Espère que ça vous aidera quelqu'un.
J'ai eu le même problème. Je ne sais pas encore la cause, mais ma solution est de supprimer l'index.verrouillage
sudo rm -f index.lock
, et puis j'en ai donné la permission d'écrire à l'indice desudo chmod 777 index
. Après cela, je suis en mesure de mettre en scène et de s'engager. Le problème est que j'ai pour ce faire, presque toutes les fois où j'ai quelque chose à la scène.C'est vieux, mais la cause pour moi a été de Dropbox. Mon dépôt local était stocké dans mon dossier Dropbox, et j'ai dû interrompre la synchronisation Dropbox avant que je puisse terminer la commande.
J'ai eu un problème similaire. "git reset --hard" a fonctionné pour moi.
D'ajouter: étonnamment, certains git plugins blocs du fichier d'index. Mon Eclipse Kepler a défaut du plug-in, que de temps en temps des mises à jour de ses propres informations à partir de repo git, le blocage de fichier d'index au cours de cette opération.
J'avais utilisé ce problème lors de l'utilisation de git sur visual studio, et ma solution a été d'exécuter visual studio en tant qu'administrateur
J'ai eu le même message d'erreur parce que Google Drive est la Sauvegarde et la Synchronisation client pour Windows n'avait pas sorti un verrou sur deux fichiers dans ce référentiel. Un travail autour de a été, après le client de synchronisation avait fini son travail: Process Explorer -> Find -> Trouver de poignée ou de DLL -> Fermer le Handle.
J'ai eu le même problème. "fatal: Impossible d'écrire dans le nouveau fichier d'index"
J'ai découvert que la raison en était que mon disque était plein. J'ai supprimé quelque chose d'autre, et puis mon repo git récupéré et tout a fonctionné à nouveau.