Ich versuche zu lernen, wie man Git benutzt und habe ein kleines Projekt mit einer HTML-, CSS- und Javascript-Datei erstellt. Ich habe einen Zweig aus meinem im Grunde leeren Projekt gemacht und dann einige Änderungen an meinem Code vorgenommen. Ich habe versucht, die Änderungen bereitzustellen, erhalte jedoch die folgende Fehlermeldung:
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.
Zugegeben, ich hatte Probleme, mein leeres Projekt früher festzuschreiben, und habe einfach mit git bash aufgehört, da ich nicht wusste, wie ich rauskommen sollte, wo ich irgendwie hingekommen war.
Gibt es eine Möglichkeit für mich, dies zu beheben, oder sollte ich einfach ein neues Repository starten?
Antworten:
Versuchen Sie, die
index.lock
Datei in Ihrem.git
Verzeichnis zu löschen .rm -f .git/index.lock
Solche Probleme treten im Allgemeinen auf, wenn Sie zwei
git
Befehle gleichzeitig ausführen . Vielleicht eine von der Eingabeaufforderung und eine von einer IDE.quelle
rm -f .git/index.lock
Podfile.lock
.index.lock
Datei vorhanden ist, suchen Sie nachHEAD.lock
· Durch Entfernen wurde das Problem für mich behoben.Verwenden Sie den folgenden Befehl im Stammverzeichnis der Anwendung. Dadurch wird die Datei index.lock gelöscht und die aktive Sperre aufgehoben.
quelle
Das Löschen meiner Commit-Nachricht hat bei mir funktioniert.
Dann hieß es.
Beachten Sie, dass sich Ihr Filialname möglicherweise von meinem unterscheidet. Sie können diese Sperrdatei löschen, indem Sie Folgendes tun:
Hoffe das hilft jemandem.
quelle
Ok, ich habe es zum Laufen gebracht, indem ich '$ git rm .git / index.lock' ausgeführt habe ... Es ist komisch, weil ich das ein paar Mal zuvor ohne Erfolg gemacht habe, aber hey Computer, oder?
quelle
git rm
hier zu verwenden , ist nurrm
ausreichend.index.lock
ist keine Datei, die von git verfolgt werden soll.Dies passierte mir und während Sourcetree mir immer wieder mitteilte, dass die Sperrdatei existiert, gab es keine solche Datei, die ich entfernen konnte. Also habe ich gerade einen anderen Zweig ausgecheckt und bin dann zum ursprünglichen Zweig zurückgekehrt und habe festgestellt, dass diese Änderung das Problem behoben hat.
quelle
Es ist ähnlich wie oben beschrieben, aber in meinem Fall hatte ich mehrere davon
und konnte auf diese Weise alles auf einmal entfernen
quelle
Für mich war das Problem einfacher, dies war im Quellbaum, daher bin ich mir nicht sicher, wie viel es für reguläre Lösungen gelten wird, aber ich hatte versehentlich meinen Hauptzweig ausgewählt, um ein Commit durchzuführen, anstatt meine nicht festgeschriebenen Änderungen.
Dies wäre normalerweise kein Problem, aber ich hatte bereits präventiv eine Commit-Nachricht eingegeben, um zu verfolgen, was ich für den kleinen Sprint tat, an dem ich teilnahm.
Grundsätzlich habe ich ein Commit für den nicht festgeschriebenen Zweig gestartet und versehentlich versucht, ein weiteres Commit für meinen Hauptzweig zu starten.
quelle
Wenn Sie CocoaPods verwenden und irgendwann ein Update oder eine Installation verpfuscht haben (manuell beendet oder so), versuchen Sie es
1) Entfernen der
index.lock
Datei (in.git/index.lock
)2) Entfernen Sie Ihre
Podfile.lock
Datei.3) Mach ein neues
pod update
4) Versuchen Sie, den fehlgeschlagenen Befehl git auszugeben (in meinem Fall war es a
git add .
)quelle
Wenn Sie Windows- Benutzer sind, tritt ein Fehler auf
'rm' is not recognized as an internal or external command
. Das liegt daran, dass rm ein Linux-Befehl ist. In Windows können Sie unten dieindex.lock
Datei im.git
Ordner entfernenquelle
Es kann vorkommen, dass Ihr Zweig beschädigt ist. Erstellen Sie einen neuen Zweig git branch #check branch. Ich habe eine neue Niederlassung geschaffen und arbeite.
quelle
Es gibt zwar eine Alternative oben, aber die hat meine nicht gelöst. In meinem Fall lösche ich das "git" -Plugin in ./zshrc und starte den Computer neu, dann ist das Problem behoben. Ich denke, das zsh-Plugin hat einen Konflikt mit dem ursprünglichen git-Befehl verursacht.
quelle
Ich habe diesen Fehler während bekommen
pod update
. Ich löste es durch das Löschen vonindex.lock
Dateien incocoapods
‚s -.git
Verzeichnis.Es könnte jemandem helfen.
quelle
Verwenden Sie den folgenden Befehl, wenn Sie vor einem anderen Git-Prozess stehen, der in diesem Repository ausgeführt wird, z. B. ein Editor, der durch 'Git Commit' geöffnet wurde. Bitte stellen Sie sicher, dass alle Prozesse beendet sind, und versuchen Sie es erneut. Wenn dies immer noch fehlschlägt, ist möglicherweise ein Git-Prozess in diesem Repository früher abgestürzt: Entfernen Sie die Datei manuell, um fortzufahren.
rm -f .git / index.lock
git reset und nach dem reset-Befehl git status, git add und git commit -a oder git commit -m "Ihre Nachricht", git push origin master.
quelle
rm -f .git/index.lock
hat nicht geholfen, weil ich eine gesperrte Datei hatte, die nicht gelöscht werden konnte. Also, warindex.lock
auch von einer Anwendung erfasst worden.Ich habe eine Alternative zu Unlocker namens Lock Hunter heruntergeladen und beide Dateien gelöscht.
Git
hat sie gefangen genommen.quelle
Ich habe die gleichen Probleme, als ich versuchte, eine Datei in SourceTree bereitzustellen.
Um dies zu lösen, gehen Sie in den Ordner .git im Projektverzeichnis und löschen Sie index.lock manuell. Fertig.
quelle
Falls jemand anderes helfen kann ... Ich habe es mit der Kommandozeile versucht
rm -f .git/index.lock
und es hat nicht funktioniert (Terminal hat keinen Fehler angezeigt). Ich ging einfach direkt in den Ordner.git
und löschte dieindex.lock
Datei.Hinweis: Der
.git
Ordner befindet sich in Ihrem Root-Repository und ist ausgeblendet. In Mac:Cmd
+Shift
+.
, um versteckte Dateien anzuzeigen.quelle
Für mich war die Lösung so einfach wie das Schließen meiner IDE und das anschließende Auschecken. Ein Teamkollege von mir hatte meine PR akzeptiert und den Code über TFS zusammengeführt. Das Entfernen der .lock-Dateien hat nicht funktioniert.
quelle
Hier einfügen
index.lock
:Wenn Ihr Repository über Submodule verfügt, löschen Sie auch hier alles
index.lock
:quelle
Ich habe versucht zu löschen,
.git/index
aber es hat nicht funktioniert.go
Am Ende deinstalliere ich go und entferne alle Ordner, in denen der Name enthalten ist. Dann installiere ich go erneut und es funktioniert!quelle
Für mich aus irgendeinem Grund:
Hat nicht funktioniert, also bin ich einfach zur .git-Datei gegangen und habe sie manuell gelöscht, was fantastisch funktioniert hat.
quelle
Nur zur Klarstellung, für diejenigen, die sich fragen, warum rm und del.
Sie können hinzufügen
-f
, um die Operation zu erzwingen, die funktioniert.quelle
Ich hatte das gleiche Problem. Ich musste wenig mehr tun, um das zu lösen. Zuerst habe
index.lock
ich neuen Code gelöscht und dann aus dem vorhandenen Speicherort des Git-Repositorys geklont. Ich hatte meine Codeänderungen an einem separaten Ort. Ich habe.git
Ordner und.gitignore
Datei kopiert und in den Codeordner eingefügt, in dem ich Codeänderungen vorgenommen hatte. Dann habe ich versucht zu begehen und zu pushen, es hat reibungslos funktioniert. Möglicherweise ist diese Einführung hilfreich, wenn Ihr Problem nicht durch die oben angegebenen Lösungen gelöst wird.quelle
Hatte das gleiche Problem mit SourceTree . Auf meinem Host befand sich jedoch überhaupt keine index.lock- Datei. Ich habe die Datei gepackt-refs.lock gefunden und nach dem Löschen wurde das Problem behoben.
quelle
Ich hatte das gleiche Problem. Ich habe versucht, meinen Code mit einer
xml
Datei (die als Datensatz verwendet wird) mit einer Größe von 1,3 GB zu pushen. Also füge ich diese Datei hinzu.gitignore
und löse das Problemquelle
Wenn Sie hier basierend auf dem Titel der Frage landen ("Ein anderer Git-Prozess scheint in diesem Repository ausgeführt zu werden"), beachten Sie, dass die akzeptierte Antwort nicht direkt auf Sie anwendbar ist, wenn der Nachricht im Titel dieser Frage eine andere Nachricht wie folgt die unten:
fatal: cannot lock ref 'HEAD': Unable to create '/<PATH>/<TO>/<REPO>/.git/refs/heads/<BRANCH>.lock': File exists.
In diesem Fall sollten Sie diese Datei (.lock) anstelle von .git / index.lock löschen
quelle