Impossible de créer ‘/git/index.lock’: le fichier existe – mais pas

J’obtiens ce message lorsque j’essaie de rebaser de manière interactive en utilisant l’arborescence des sources.

If no other git process is currently running, this probably means a git process crashed in this repository earlier. Make sure no other git process is running and remove the file manually to continue. 

fatal: Impossible de créer ‘X: /sources/project/.git/index.lock’: le fichier existe.

Le problème est que X: /sources/project/.git/index.lock n’existe pas

Toutes les autres solutions sur SO ne fonctionnaient pas pour moi car elles disaient toutes de supprimer ce fichier.

Je suis sur un Mac et j’ai rencontré le même problème. Lors de l’exécution de git rebase -i master , j’ai reçu une erreur:

fatal: Impossible de créer “path / to / file / .git / index.lock”: le fichier existe.

Le fichier index.lock n’existait pas dans mon répertoire .git / . Mais il y avait un fichier d’ index (pas d’extension de type de fichier). Donc j’ai interrompu le rebase.

Après une tonne de recherches, j’ai finalement décidé de créer le fichier: touch .git/index.lock

J’ai essayé de refixer à nouveau, mais cela n’a pas résolu le problème (cette fois, le fichier existait vraiment). Donc je l’ai enlevé: rm .git/index.lock

Cela a fait l’affaire. La rebase avait des conflits cette fois-ci (ce qui était étrange depuis que j’ai abandonné le rebase précédemment), mais je me suis contenté de traiter chaque conflit et de laisser la rebase continuer: git rebase --continue

J’espère que cela aide quelqu’un d’autre qui se retrouve dans une situation similaire.

J’ai eu le même problème avec Github Desktop. J’ai regardé le répertoire .git et le fichier index.LOCK apparaissait et disparaissait. Il n’a jamais persisté longtemps, alors il n’était pas là pour supprimer. J’ai étudié un peu car les autres solutions en ligne ne fonctionnaient pas pour moi et j’ai constaté que la comparaison des permissions sur les dossiers que je pouvais valider avait une seule différence: le dossier .git qui me donnait l’erreur hérité de son parent. Je suis allé dans properties-> security-> advanced et removed, puis j’ai ajouté les permissions sans les hériter du parent. Après cela, j’ai pu commettre mes modifications sans erreur.

OK, c’est vraiment étrange, mais pour moi, les suivants ont fonctionné:

  • Créez le fichier .git / index.lock à partir de l’explorateur Windows
  • Supprimer le fichier à nouveau (à partir de git bash, je ne sais pas si c’est important)

Ensuite, la commande que git rebase --continue ( git rebase --continue , dans mon cas) a réussi. Je ne sais pas pourquoi cette procédure a fonctionné, cependant. Cela ne devrait pas faire de différence …