fatal: Unable to create '.git/index.lock': File exists
Cette erreur signifie qu'un autre processus Git détient le verrou sur ta zone de staging, ou qu'un processus planté a laissé le fichier derrière lui. Rien n'est corrompu et aucun travail n'est perdu. Voici comment débloquer proprement.
Ce que cette erreur signifie
Chaque fois que Git met à jour l'index (ta zone de staging), il crée .git/index.lock comme verrou exclusif, fait ses modifications, puis le supprime. Si le fichier existe déjà au lancement d'une commande, Git refuse d'agir : soit un autre processus travaille vraiment, soit un processus précédent est mort avant de nettoyer.
Pourquoi cela se produit
Deux processus Git en même temps
Tu as lancé une commande pendant qu'une autre travaillait encore : un commit qui attend son éditeur de message, un gros rebase, ou un second terminal sur le même dépôt.
IDE ou client graphique en arrière-plan
VS Code, IntelliJ, SourceTree et compagnie lancent Git en permanence pour les rafraîchissements et l'auto-fetch. Leurs opérations peuvent entrer en collision avec tes commandes dans le terminal.
Un processus qui a planté
Git a été tué en pleine opération (crash, terminal fermé, redémarrage, disque plein) et n'a jamais supprimé son verrou. Le fichier reste là et bloque tout.
Comment corriger
Règle numéro un : ne supprime jamais le verrou pendant que Git tourne vraiment. Vérifie d'abord, supprime ensuite.
Vérifier les processus en cours
Un éditeur qui attend un message de commit ou un IDE en pleine opération est le coupable le plus fréquent. Termine ou ferme-les d'abord.
Supprimer le verrou orphelin
Si rien ne tourne, le verrou est un résidu. Le supprimer est sans danger et ne perd rien.
Comment éviter cette erreur
Une opération Git à la fois
Laisse chaque commande se terminer avant d'en lancer une autre, surtout entre ton terminal et l'intégration Git de ton IDE.
Garde tes dépôts sur un disque local
Les dépôts dans Dropbox, OneDrive ou sur un partage réseau sont une source classique de conflits de verrou : l'outil de sync touche les fichiers pendant que Git travaille. Synchronise ton code avec des remotes Git à la place.
Ne tue pas Git en pleine opération
Évite de fermer le terminal ou de faire Ctrl+C pendant un commit, un rebase ou un merge. Si une commande semble bloquée, vérifie si elle a ouvert un éditeur et t'attend simplement.
GitQuest est conçu par Anaïs (nouvelle fenêtre), développeuse web et responsable pédagogique, spécialisée en formations tech et accessibilité numérique.
Questions sur index.lock
Comprends ce que Git fait sous le capot
Index, zone de staging, fichiers de verrou : GitQuest rend les entrailles de Git limpides grâce à des enquêtes pratiques dans un simulateur de terminal sécurisé.
Commencer à pratiquer