Die Git index.lock-Datei ist vorhanden, wenn ich versuche, sie zu übertragen, aber ich kann die Datei nicht löschen

Lesezeit: 4 Minuten

Benutzeravatar von asahi
Asahi

Wenn ich ‘git commit’ mache, erhalte ich Folgendes:

fatal: Unable to create 'project_path/.git/index.lock': File exists.

Allerdings, wenn ich es tue ls project_path/.git/index.lock es heißt, die Datei existiert nicht. Was soll ich machen? Mir ist auch aufgefallen, dass project_path/.git Eigentum von ist Wurzel und bin mir nicht sicher, ob das etwas mit dem Problem zu tun hat, auf das ich stoße.

Die Git-Version ist 1.7.5.4


Es scheint, dass das Problem höchstwahrscheinlich ein anderer Prozess war, den ich ausgeführt hatte, der (unbemerkt von mir) in das Projektverzeichnis schrieb. Ich habe meinen Computer neu gestartet und dann hatte ich kein Problem mit dem Commit.

  • Es könnte sehr gut ein Berechtigungsproblem sein, bei dem Git davon ausgeht, dass die Datei bereits existiert, da es die Datei nicht erstellen kann. Haben Sie versucht, den Besitz des Verzeichnisses zu übernehmen oder Ihren Befehl mit sudo auszuführen?

    Benutzer849425

    14. Februar 2012 um 19:10 Uhr

  • Ich denke, Ihre Erklärung zu einer anderen App, die auf das Git-Repo zugreift, ist richtig. Hatte das gleiche Problem bei einem Rebase. Gitx lief. Nachdem ich es beendet hatte, funktionierte es gut.

    – Die WHO

    12. März 2013 um 14:58 Uhr

  • @asahi: Möchtest du vielleicht eine Antwort annehmen? Dies wird zukünftigen Lesern helfen.

    – MERose

    3. August 2015 um 14:31 Uhr

  • Mögliches Duplikat von Git – fatal: „/path/my_project/.git/index.lock“ kann nicht erstellt werden: Datei existiert.

    – Kristjan

    4. Dezember 2015 um 15:56 Uhr

  • @asahi: Du kannst den Inhalt deiner Bearbeitung (was die Lösung war) als Antwort posten und das dann akzeptieren. (Obwohl die allgemeinere Lösung als “Neustart der Maschine” darin besteht, dass ein anderer Prozess auf das Verzeichnis zugegriffen hat; ein Neustart durchtrennt nur den gordischen Knoten, der versucht, herauszufinden, welcher und warum. : ) In meinem Fall war es meine IDE.) Wie auch immer, die Leute beantworten häufig ihre eigenen Fragen, wenn sie ihre eigenen Lösungen finden, was Sie getan haben.

    –Wilson F

    13. Januar 2016 um 19:49 Uhr

Andrei Epure ist der Benutzeravatar von hiring
Andrei Epure stellt ein

Für Windows:

  • Versuchen Sie es in einer als Administrator geöffneten Powershell-Konsole
> rm -Force ./.git/index.lock
  • Wenn das nicht funktioniert, müssen Sie alle git.exe-Prozesse beenden
> taskkill /F /IM git.exe
SUCCESS: The process "git.exe" with PID 20448 has been terminated.
SUCCESS: The process "git.exe" with PID 11312 has been terminated.
SUCCESS: The process "git.exe" with PID 23868 has been terminated.
SUCCESS: The process "git.exe" with PID 27496 has been terminated.
SUCCESS: The process "git.exe" with PID 33480 has been terminated.
SUCCESS: The process "git.exe" with PID 28036 has been terminated.
> rm -Force ./.git/index.lock

  • Parameter kann nicht verarbeitet werden, da der Parametername ‘f’ mehrdeutig ist.

    – 3pitt

    7. Februar 2018 um 22:21 Uhr

  • Danke, @MikePalmice, ich habe auf -Force aktualisiert. Anscheinend haben sie die API geändert

    – Andrei Epure stellt ein

    13. Februar 2018 um 10:21 Uhr

  • Danke, das funktioniert perfekt für mich, der Taskkill, dann habe ich die Kraft gemacht, die funktioniert hat 🙂 Danke, Mann. @AndreiEpure

    – Bryan Labuschagne

    6. Mai 2021 um 9:41 Uhr

  • Obwohl mein VS nicht einmal auf diese Repositories zugreifen soll, war dies sowieso das Problem beim Rebasing mit SourceTree.

    – Kajetan Abt

    21. März 2016 um 11:14 Uhr

  • Danke, das Problem besteht immer noch mit Update 3.

    – Elger Mensonides

    5. Dezember 2016 um 11:03 Uhr

  • Das Schließen von Visual Studio funktioniert auch (die Datei „index.lock“ wurde gelöscht.)

    – Misterbee

    4. September 2019 um 17:45 Uhr

versuchen

rm -f ./.git/index.lock

wenn kein anderer git-prozess läuft, dann lösche einfach die index.lock-datei des jeweiligen projekts.

  • Arbeitete in der Umgebung meines Macs.

    – Adam Hurwitz

    20. November 2018 um 20:45 Uhr

Benutzeravatar von Peter Mortensen
Peter Mortensen

  1. Prüfen Sie, ob der Git-Prozess noch läuft (ps -ef | grep git)
  2. Wenn nicht, entfernen Sie die gesperrte Datei
  3. Wenn ja, beenden Sie zuerst den Git-Prozess.

  • Arbeitete in der Umgebung meines Macs.

    – Adam Hurwitz

    20. November 2018 um 20:45 Uhr

Benutzeravatar von Gulzar
Gülzar

  1. Schließen Sie alle Fenster, die möglicherweise diese .git/index.lock-Datei betreffen
  2. Löschen Sie die .git/index.lock-Datei.
  3. Öffnen Sie Ihren Befehlszeilen-Editor und cd zum Speicherort Ihrer Git-Dateien.

(Wenn die Datei erstellt wird, einfach von CD an diesen Ort, dann ist das Problem Ihr Editor. Schließen Sie Ihren Editor. Verwenden Sie diesen Editor nicht erneut für diese Aufgabe. Öffnen Sie eine andere Art von Editor – Windows Power Shell oder einfach cmd. Jetzt Sie können Git-Befehle verwenden, um fortzufahren)

1446190cookie-checkDie Git index.lock-Datei ist vorhanden, wenn ich versuche, sie zu übertragen, aber ich kann die Datei nicht löschen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy