Un autre processus git semble être en cours d'exécution dans ce référentiel

668

J'essaie d'apprendre à utiliser Git et j'ai créé un petit projet avec un fichier HTML, CSS et Javascript. J'ai créé une branche à partir de mon projet essentiellement vide, puis j'ai apporté des modifications à mon code. J'ai essayé de mettre en scène les modifications mais j'obtiens le message d'erreur suivant:

Another git process seems to be running in this repository, e.g.
an editor opened by 'git commit'. Please make sure all processes
are terminated then try again. If it still fails, a git process
may have crashed in this repository earlier:
remove the file manually to continue.

Certes, j'ai rencontré des problèmes en essayant de valider mon projet vide plus tôt et j'ai juste quitté git bash car je ne savais pas comment sortir de là où j'étais arrivé.

Existe-t-il un moyen de résoudre ce problème ou dois-je simplement démarrer un nouveau référentiel?

Matt Corby
la source
1
Il semble qu'il y ait définitivement un autre processus en cours d'exécution sur rn, peut-être dans un autre onglet de terminal?
Vincent Rodomista
Ouvrez le gestionnaire de tâches et voyez ce qui fonctionne. Vous pouvez également être en mesure d'utiliser Process Explorer, si vous l'avez installé.
Tim Biegeleisen
Essayez d'utiliser git bash, ligne de commande ou interface graphique, puis vous pouvez déverrouiller le git verrouillé
SalindaKrish

Réponses:

1299

Essayez de supprimer le index.lockfichier de votre .gitrépertoire.

rm -f .git/index.lock

Ces problèmes se produisent généralement lorsque vous exécutez deux gitcommandes simultanément; peut-être un de l'invite de commande et un d'un IDE.

Rohit Shedage
la source
7
J'ai reçu l'erreur suivante: rm: impossible de supprimer «.git / index.lock»: périphérique ou ressource occupé
Yuvraj Patil
8
retirer avecrm -f .git/index.lock
William Hampshire
Pour CocoaPods, essayez de supprimer Podfile.lock.
LinusGeffarth
1
A travaillé pour moi aussi, merci. Je me demande pourquoi cette réponse n'est pas encore considérée comme acceptée. Séquence de commandes: 1) trouver | grep '\ .lock $' 2) rm -f ./.git/index.lock
Ankush
5
S'il n'y a pas de index.lockfichier, vérifiez-le HEAD.lock· Le supprimer a résolu le problème pour moi.
Daniel Shatz
64

Utilisez la commande ci-dessous dans le répertoire racine de l'application. Cela supprimera le fichier index.lock et libérera le verrou actif.

rm .git/index.lock
MJ
la source
J'ai également dû fermer Sublime-Text car il avait un plugin git. Un autre IDE connecté à git a probablement le même problème
Nick Carraway
31

La suppression de mon message de validation a fonctionné pour moi.

rm .git/COMMIT_EDITMSG

Il a ensuite dit.

fatal: impossible de verrouiller la référence «HEAD»: impossible de créer «.git / refs / heads / [votre-nom-de-branche] .lock»: le fichier existe.

Notez que le nom de votre succursale peut être différent du mien. Vous pouvez supprimer ce fichier de verrouillage en faisant;

rm .git/refs/heads/[your-branch-name].lock

J'espère que cela aide quelqu'un.

Ibn Rushd
la source
3
c'est ce qui m'a aidé, les autres réponses n'ont rien fait pour moi.
CodyMace
1
Cela a fonctionné lorsque j'avais essayé de valider avec docker-compose en arrière-plan.
John Spiteri
15

Ok j'ai fini par le faire fonctionner en lançant '$ git rm .git / index.lock' ... C'est bizarre parce que je l'ai fait plusieurs fois auparavant en vain mais bon les ordinateurs non?

Matt Corby
la source
5
Pas besoin d'utiliser git rmici, c'est juste rmsuffisant. index.lockn'est pas un fichier destiné à être suivi par git.
Matthieu Moy
8

Cela m'est arrivé et tandis que sourcetree ne cessait de me dire que le fichier de verrouillage existe, il n'y avait pas un tel fichier à supprimer. J'ai donc juste vérifié une autre branche, puis je suis retourné à la branche d'origine et j'ai remarqué que ce changement corrigeait le problème.

Alex Sed
la source
7

C'est similaire aux méthodes ci-dessus mais dans mon cas, j'en ai eu plusieurs

.git/refs/heads/<branch_name>.lock

et a été en mesure de supprimer tout à la fois de cette façon

find -name "*.lock" -exec xargs rm {} \;
Akif
la source
4

Pour moi, le problème était plus simple, c'était dans l'arborescence source, donc je ne sais pas combien cela s'appliquera aux solutions régulières, mais j'ai accidentellement fait sélectionner ma branche principale en essayant de faire un commit plutôt que mes changements non validés.

Cela ne serait normalement pas un problème, mais j'avais déjà saisi un message de validation de manière préventive afin de pouvoir suivre ce que je faisais pour ce petit sprint sur lequel j'étais.

Fondamentalement, j'ai commencé une validation sur la branche non validée et j'essayais accidentellement de démarrer une autre validation sur ma branche principale.

Vrezh Gulyan
la source
4

Si vous utilisez CocoaPods et qu'à un moment donné, vous avez raté une mise à jour ou une installation (tué manuellement ou quelque chose), essayez

1) Suppression du index.lockfichier (in .git/index.lock)

2) Supprimez votre Podfile.lockfichier.

3) Faites une nouvelle pod update

4) Essayez d'émettre la commande git qui échouait (dans mon cas c'était a git add .)

cumanzor
la source
4

Si vous êtes un utilisateur Windows, il y aura une erreur 'rm' is not recognized as an internal or external command. C'est parce que rm est une commande Linux. Donc, dans Windows, vous pouvez utiliser ci-dessous pour supprimer le index.lockfichier dans le .gitdossier

del -f .git/index.lock
Indrajith Ekanayake
la source
3

Il se peut que votre branche soit corrompue. Créez une nouvelle branche git branch #check branch. J'ai créé une nouvelle succursale et je travaille.

branch -b "main"
git checkout -b "main"  #main is new branch
git add .
git commit -m "all files"
git remote add origin #**YOUR REPO**  https://github.com/tarun-techmarbles/wp-dump-sql-git-push.git
git push origin main  #push with new branch 
Tarun Sharma
la source
3

Bien qu'il existe une alternative ci-dessus, mais cela n'a pas résolu le mien. Dans mon cas, je supprime le plugin "git" dans ./zshrc et redémarre l'ordinateur, puis le problème a disparu, je suppose que le plugin zsh a fait quelque chose en conflit avec la commande git d'origine.

Brady Huang
la source
3

J'ai eu cette erreur pendant pod update. Je l'ai résolu en supprimant le index.lockfichier dans cocoapodsle .gitrépertoire de.

rm -f /Users/my_user_name/.cocoapods/repos/master/.git/index.lock

Cela pourrait aider quelqu'un.

Haseeb Iqbal
la source
2

utilisez la commande suivante au cas où vous êtes confronté Un autre processus git semble être en cours d'exécution dans ce référentiel, par exemple un éditeur ouvert par 'git commit'. Veuillez vous assurer que tous les processus sont terminés, puis réessayez. S'il échoue toujours, un processus git peut avoir planté dans ce référentiel plus tôt: supprimez le fichier manuellement pour continuer.

rm -f .git / index.lock

git reset et après la commande reset utilisent git status, git add et git commit -a ou git commit -m "votre message", git push origin master.

Naveen
la source
2

rm -f .git/index.lockn'a pas aidé, car j'avais un fichier verrouillé qui ne pouvait pas être supprimé. Ainsi, index.lockavait également été capturé par une application.

J'ai téléchargé une alternative à Unlocker appelée Lock Hunter et supprimé les deux fichiers. Gitles a capturés.

CoolMind
la source
2

J'ai même rencontré des problèmes lorsque j'ai essayé de mettre en scène un fichier dans SourceTree.

Pour résoudre ce problème, accédez au dossier .git dans le répertoire du projet et supprimez manuellement index.lock et vous avez terminé.

MayankD
la source
En fait, je trouve dans SourceTree qu'il suffit généralement d'attendre quelques secondes et de réessayer.
mat
2

Au cas où cela pourrait aider quelqu'un d'autre ... J'ai essayé avec la ligne de commande rm -f .git/index.locket je n'ai pas fonctionné (le terminal n'a affiché aucune erreur). Je viens d'aller directement dans le dossier .gitet de supprimer le index.lockfichier.

Remarque: le .gitdossier se trouve dans votre référentiel racine et est masqué. Sous mac: Cmd+ Shift+ .pour voir les fichiers cachés.

TomCobo
la source
2

Pour moi, la solution était aussi simple que de fermer mon IDE puis de vérifier. Un de mes coéquipiers avait accepté mon PR et avait fusionné le code via TFS. La suppression des fichiers .lock n'a pas fonctionné.

Chloé Corrigan
la source
2

Supprimer index.lockici:

<path to your repo>/.git/index.lock

De plus, si votre référentiel contient des sous-modules, supprimez-les tous index.lockici également:

<path to your repo>/.git/modules/<path to your submodule>/index.lock
Manabu Nakazawa
la source
1

J'ai essayé de supprimer .git/indexmais n'a pas fonctionné, je finis par désinstaller go et supprimer tous les dossiers qui ont un gonom, puis réinstaller go, et ça marche!

John Balvin Arias
la source
1

Pour moi pour une raison quelconque:

rm .git/index.lock

Cela n'a pas fonctionné, alors je suis simplement allé dans le fichier .git et l'ai supprimé manuellement, ce qui a fonctionné de manière fantastique.

Vadim F.
la source
quelle est la différence entre cette réponse et la réponse acceptée?
J. Doe
0

juste pour des éclaircissements, pour ceux qui se demandent pourquoi rm et del.

rm .git/index.lock - on a unix/linux system
del .git/index.lock - on a windows cmd prompt

vous pouvez ajouter -fpour forcer l'opération qui fonctionne.

Ande Caleb
la source
0

J'ai rencontré le même problème. J'ai dû faire un peu plus pour résoudre ce problème. J'ai d'abord supprimé index.lockpuis j'ai cloné du nouveau code à partir de l'emplacement du référentiel git existant. J'ai eu mes changements de code dans un emplacement séparé. J'ai copié le .gitdossier et le .gitignorefichier et collé dans le dossier de code où j'avais fait des changements de code. Ensuite, j'ai essayé de m'engager et de pousser, ça a bien fonctionné. Peut-être que cette impormation sera utile si votre problème ne résout pas les solutions ci-dessus.

Abhishek
la source
0

Eu le même problème en utilisant SourceTree . Mais il n'y avait aucun fichier index.lock sur mon hôte. J'ai trouvé le fichier pack-refs.lock , et après l'avoir supprimé, le problème a été résolu.

Vladimir
la source
0

j'ai fait face au même problème, le problème était que j'ai essayé de pousser mon code avec un xmlfichier (utilisé comme un ensemble de données) qui a une taille de 1,3 Go, alors j'ajoute ces fichiers .gitignoreet ensuite le problème est résolu

Dulanga Heshan
la source
0

Si vous vous retrouvez ici sur la base du titre de la question ("Un autre processus git semble s'exécuter dans ce référentiel"), notez que la réponse acceptée ne vous sera pas directement applicable si le message dans le titre de cette question est précédé d'un autre message comme celui ci-dessous:

fatal: cannot lock ref 'HEAD': Unable to create '/<PATH>/<TO>/<REPO>/.git/refs/heads/<BRANCH>.lock': File exists.

Dans ce cas, vous devez supprimer ce fichier (.lock) au lieu de .git / index.lock

derekbaker783
la source