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.
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
versuchen
rm -f ./.git/index.lock
wenn kein anderer git-prozess läuft, dann lösche einfach die index.lock-datei des jeweiligen projekts.
- Schließen Sie alle Fenster, die möglicherweise diese .git/index.lock-Datei betreffen
- Löschen Sie die .git/index.lock-Datei.
- Ö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)
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