Git-SVN-Fehler: Ein Git-Prozess ist zuvor im Repository abgestürzt

97

Ich habe nur versucht, Änderungen am Git-Master vorzunehmen. Nach dem, was ich gelesen habe, scheint die Idee darin zu bestehen, die Sperrdatei zu löschen. Die Nachricht sagt:

Stellen Sie sicher, dass keine anderen Git-Prozesse ausgeführt werden, und entfernen Sie die Datei manuell

Vielleicht weiß jemand, welche Datei zu entfernen ist und wie zu entfernen?

Pinchas K.
quelle
1
Könnten Sie die vollständige Fehlermeldung einschließlich des von Ihnen ausgeführten Befehls anzeigen?
Schwern
Ich benutze die Schildkröte. Können Sie diese Datei in der Schildkröte oder nur in der Schale löschen?
Pinchas K
Sie müssen dies wahrscheinlich in einem Shell- oder Datei-Explorer tun. Möglicherweise müssen Sie versteckte Dateien anzeigen.
Schwern
Der vollständige Fehler lautet wie folgt: Schwerwiegend: Die Datei 'C / etc / .git / index.lock' kann nicht erstellt werden. Wenn derzeit kein anderer Git-Prozess ausgeführt wird, bedeutet dies wahrscheinlich, dass ein Git-Prozess früher im Repository abgestürzt ist. Stellen Sie sicher, dass kein anderer Git-Prozess ausgeführt wird, und entfernen Sie die Datei manuell, um fortzufahren.
Pinchas K
5
Die Fehlermeldung sagt alles. Löschen Sie C:\etc\.git\index.lockwie jede andere Datei.
Schwern

Antworten:

194

Die fragliche Datei ist wahrscheinlich .git/index.lockund es sollte sicher sein, sie einfach zu entfernen, wenn keine anderen Git-Prozesse ausgeführt werden . Stellen Sie sicher, dass ein git-svn-Befehl nicht hängt.

PS Mein üblicher Ansatz zur Behebung von Git-SVN-Problemen besteht darin, das Repository neu abzurufen. Zeitaufwändig, aber Sie können dies parallel zum Versuch tun, das Problem zu beheben. Habe ein kleines Rennen zwischen dir und git. Dies funktioniert natürlich nur, wenn Sie keine ungezwungenen Commits hatten.

Schwern
quelle
1
Das hat es für mich nicht gelöst. Ich hatte eine weitere verbleibende Sperrdatei unter .git / svn / refs / remotes / git-svn / index.lock.
Kai Stavginski
74

Das Entfernen der index.lockDatei wie von Schwern angegeben löst dieses Problem.

Sie können es durch Ausführen entfernen rm -f ./.git/index.lock

Mit dem rmBefehl werden Dateien und Verzeichnisse entfernt (gelöscht).

Dies -fsteht für Kraft, die Ihren Computer anweist, die Dateien zu entfernen, ohne zur Bestätigung aufzufordern

Joel
quelle
9

Für "GUI" Benutzer wie ich

Öffnen Sie die Git-Erweiterung und wählen Sie das Repository (falls mehrere vorhanden sind). Wählen Sie "Einstellungen" aus dem Hauptmenü, dann "Git-Wartung" und klicken Sie dann auf "Indexsperre löschen".

Git-Erweiterungen: Einstellungen-> Git-Wartung-> Indexsperre löschen

user3981082
quelle
2

Sie haben bereits ein Commit auf einer anderen Registerkarte im Terminal geöffnet

Andrew Denysyuk
quelle
2

Dies kann auch alle * .lock-Dateien in .git / betreffen

Überprüfen und entfernen Sie sie. Sie können verwenden:rm -f ./.git/*.lock

artegen
quelle
0

Durch Entfernen der Datei index.lock, wie von Schwern angegeben, wird dieses Problem behoben.

Sie können es entfernen, indem Sie rm -f ./.git/index.lock ausführen

Mit dem Befehl rm werden Dateien und Verzeichnisse entfernt (gelöscht).

Das -f steht für force, das Ihren Computer anweist, die Dateien zu entfernen, ohne zur Bestätigung aufzufordern

Immer noch nicht funktioniert bedeutet , dass der Git durch Git Bash geöffnet wird, anstatt im Terminal

Sarangan
quelle