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 apporté quelques modifications à mon code. J'ai essayé de mettre en place les modifications, mais le message d'erreur suivant s'affiche:
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, je me suis heurté à des problèmes en essayant de valider mon projet vide plus tôt et j'ai juste arrêté git bash car je ne savais pas comment sortir de là où j'avais en quelque sorte été.
Est-il possible pour moi de résoudre ce problème ou devrais-je simplement créer un nouveau référentiel?
Essayez de supprimer le fichier index.lock
dans votre répertoire .git
.
rm -f .git/index.lock
De tels problèmes se produisent généralement lorsque vous exécutez deux commandes git
simultanément; peut-être un de l'invite de commande et un d'un IDE.
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
Supprimer mon message de validation a fonctionné pour moi.
rm .git/COMMIT_EDITMSG
Il a ensuite dit.
fatal: ne peut pas verrouiller la référence 'HEAD': impossible de créer '.git/refs/heads/[votre nom de branche] .lock': le fichier existe.
Remarquez que le nom de votre succursale pourrait ê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 ça aide quelqu'un.
Ok, j'ai fini par le faire fonctionner en exécutant '$ git rm .git/index.lock' ... C'est bizarre parce que je l'avais déjà fait plusieurs fois auparavant en vain, mais bon les ordinateurs, n'est-ce pas?
C’est semblable aux méthodes ci-dessus mais dans mon cas j’en avais plusieurs
.git/refs/heads/<branch_name>.lock
et a pu enlever tout à la fois de cette façon
find -name "*.lock" -exec xargs rm {} \;
Cela m'est arrivé et, bien que sourcetree ne cesse de me dire que le fichier de verrouillage existe, il n'y avait aucun fichier de ce type à supprimer. Je viens donc de vérifier une autre branche, puis de revenir à la branche d'origine et de constater que ce changement corrigeait le problème.
Pour moi, le problème était plus simple, il se trouvait dans l’arborescence des sources et je ne savais pas dans quelle mesure cela s’appliquerait aux solutions habituelles, mais j’ai accidentellement choisi ma branche maîtresse pour essayer de s’engager plutôt que pour les modifications non validées.
Cela ne poserait normalement pas de problème, mais j’avais déjà saisi de manière préventive un message de validation afin de pouvoir suivre ce que je faisais pour ce petit sprint auquel je participais.
Fondamentalement, j'ai commencé un commit sur la branche non validée et je tentais accidentellement de démarrer un autre commit sur ma branche principale.
Si vous utilisez CocoaPods et qu’à un moment donné, vous avez fait échouer une mise à jour ou une installation (tué manuellement ou quelque chose), essayez
1) Supprimer le fichier index.lock
(dans .git/index.lock
)
2) Supprimez votre fichier Podfile.lock
.
3) Faites un nouveau pod update
4) Essayez d’émettre la commande git qui échouait (dans mon cas c’était un git add .
)
J'ai essayé de supprimer .git/index
mais cela n'a pas fonctionné, je finis par désinstaller go et supprimer tous les dossiers contenant le nom go
, puis installer à nouveau go, et le travail s'est terminé!
Au cas où cela pourrait aider quelqu'un d'autre ... j'ai essayé avec la ligne de commande rm -f .git/index.lock
et je n'ai pas fonctionné (le terminal n'affichait aucune erreur) Je viens d'aller directement dans le dossier .git
et de supprimer le fichier index.lock
.
Remarque: le dossier .git
se trouve dans votre référentiel racine et est masqué. Dans mac: Cmd
+ Shift
+ .
pour voir les fichiers cachés.
Bien qu'il existe une alternative ci-dessus, mais cela ne résout pas le mien . Dans mon cas, je supprime le plug-in "git" de ./zshrc et redémarre l'ordinateur. quelque chose en conflit avec la commande git originale.
rm -f .git/index.lock
n'a pas aidé, car j'avais un fichier verrouillé qui ne pouvait pas être supprimé. Donc, index.lock
a également été capturé par une application.
J'ai téléchargé une alternative à Unlocker appelée Lock Hunter et supprimé les deux fichiers. Git
les a capturés.
Il se peut que votre branche soit corrompue et crée une nouvelle branche J'ai créé une nouvelle branche et 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
J'ai même fait face à des problèmes lorsque j'ai essayé de mettre en scène le 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é.
utilisez la commande suivante au cas où vous seriez 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'. Assurez-vous que tous les processus Sont terminés, puis réessayez. S'il échoue toujours, un processus git Peut s'être bloqué précédemment dans ce référentiel: Supprimer le fichier manuellement pour continuer.
rm -f .git/index.lock
git reset et après la commande reset, utilisez git status, git add et git commit -a ou git commit -m "votre message", maître git Push Origin.
Si votre référentiel a un sous-module, index.lock
peut exister non seulement à la racine de .git
, mais également dans un autre sous-répertoire.
Pour le vérifier, lancez ceci (ou tout autre outil que vous préférez pour rechercher des fichiers):
find .git -name index.lock
alors vous pouvez trouver index.lock
comme ceci:
.git/modules/<path to your submodule>/index.lock
Si l'erreur ne s'affiche que lorsque vous avez exécuté git submodule update
, il serait intéressant d'essayer de le supprimer.
J'ai eu cette erreur en pod update
. Je l'ai résolu en supprimant le fichier index.lock
dans le répertoire cocoapods
de .git
.
rm -f /Users/my_user_name/.cocoapods/repos/master/.git/index.lock
Cela pourrait aider quelqu'un.