Wie kann der Fehler "Git wurde nicht sauber beendet (Exit-Code 128)" in TortoiseGit behoben werden? [geschlossen]


98

Ich bin beim Festschreiben auf diesen schwerwiegenden Fehler gestoßen und habe einen Fehlerbericht erstellt .

Ich erhalte immer wieder diesen Fehler bei TortoiseGit-Vorgängen:

git wurde nicht sauber beendet (Beendigungscode 128)

Ich habe das Programm neu installiert, neu gestartet und versucht, ein neues Repo von Github zu klonen - nichts scheint zu funktionieren. Ich habe auch den Ordner% appdata% \ Tortoise git gelöscht ... Ich bin jetzt ratlos. Irgendwelche Ratschläge zum weiteren Vorgehen?


Ist das der einzige Fehler, den Sie bekommen? Normalerweise sehen Sie diesen Fehler bei anderen Fehlermeldungen. Es könnte so viele Dinge bedeuten, von lokalen Konfigurationsproblemen bis hin zu Serverkonfigurationen.
SinisterRainbow

Niedriger Speicherplatz verursachte dieses Problem für mich
Mike

Für mich funktionierte es nicht mit Tortoise Git, aber ich hatte einfach Erfolg mit Git Bash. Versuchen Sie das
Noman

6
Ich habe für die Wiedereröffnung gestimmt. Möglicherweise sind viele Antworten auf diese Frage möglich, aber aus Anwendersicht kann nichts mehr bereitgestellt werden, als das OP getan hat. Der Bereich möglicher Antworten ergibt sich nicht aus den Fragen des OP, sondern aus der Verwendung des Rückkehrcodes 128 durch git.
SpaceTrucker

In meinem Fall tippe ich einfach ssh-adddas Terminal ein und starte die Arbeit.
Lucianosousa

Antworten:


39

Dies liegt wahrscheinlich daran, dass Ihr SSH-Schlüssel kompromittiert wurde. Erstellen Sie ein neues und fügen Sie es Ihrem GitHub-Konto hinzu.


11
Das bedeutet nicht, dass der Schlüssel kompromittiert wurde ... Github hat alle Schlüssel ungültig gemacht, als sie vor einigen Wochen gehackt wurden.
Ripper234

1
Zum Erstellen eines neuen SSH-Schlüssels. Siehe help.github.com/articles/generating-ssh-keys
emeraldhieu

3
Zu Ihrer Information, diese Antwort ist nicht mehr gültig, da der Exit-Code 128viele Dinge bedeuten kann und nicht spezifisch für SSH ist.
Jefflunt

30

Für mich musste ich einfach meinen Git-Benutzernamen und meine E-Mail-Adresse mit den folgenden Befehlen konfigurieren:

git config --global user.email "you@example.com"
git config --global user.name "Your Name"

2
Dies gilt für Unix-basierte Systeme. Die Jungs fragen nach Windows. In Ubuntu wissen wir alle, dass es ganz einfach ist ...
27еян Добромиров

8
Das obige funktioniert natürlich auch unter Windows. Soweit ich weiß, sind Git-Befehle niemals os-spezifisch.
T_D

Danke, dass mein Problem Bitbucket gelöst hat. Musste den Tortoise-Einstellungen einen Namen und eine Mail hinzufügen und jetzt funktioniert es!
Johannes Stadler

löste mein Problem unter Windows
Salivan

10

git-bashBerichte schwerwiegend: Kann nicht erstellt werden <Path to git repo>/.git/index.lock: Datei existiert.

Durch Löschen index.lock wird der Fehler behoben.


Dies funktionierte für mich, nachdem ich ein Commit abgebrochen hatte, nachdem mir klar wurde, dass ich eine Datei verpasst hatte. Durch das Löschen konnte ich mich erneut verpflichten und pushen.
Robert ging

7

Wenn Sie Windows 7 ausführen:

Ich habe versucht, den besten Weg zu finden, um dies sicher zu tun, aber der faule Weg ist:

  1. Klicken Sie mit der rechten Maustaste auf den übergeordneten Ordner
  2. Klicken Sie auf die Schaltfläche "Eigenschaften"
  3. Klicken Sie auf die Registerkarte "Sicherheit"
  4. Klicken Sie auf die Schaltfläche "Bearbeiten"
  5. Klicken Sie auf die Gruppe, die mit "Benutzer" beginnt.
  6. Klicken Sie auf das Kontrollkästchen "Vollzugriff".
  7. Klicken Sie auf alle OKs, um die Dialoge zu schließen.

Mir ist klar, dass dies die Sicherheitsfunktionen von Windows umgehen könnte, aber es erledigt den Job.


6

In meinem Fall verursachte ein Ordner in meinem Verzeichnis, der als Git-Repository auf dem Server bezeichnet wurde, den Fehler.


4

auf win7 64:

git-gui gibt eine gute Antwort: Ein vorheriger Git ist abgestürzt und hat eine Sperrdatei hinterlassen. Manuell entfernen. In meinem Fall war dies in .git / ref / Heads / branchname.lock.

löschen und Fehler 128 verschwindet. Es überrascht, dass Schildpatt keine so einfache Erklärung gibt.


4

Das Löschen von index.lock hat bei mir funktioniert


1
Ich hatte genau das gleiche Problem mit Source Tree und diese Lösung passt am besten zu mir! Danke dir!
Paulo Henrique Queiroz

3

In meinem Fall lag es am Proxy. Im Unternehmensnetzwerk wurde ein Proxy benötigt, und TortoiseGit / Git scheint nicht automatisch Informationen aus den Windows-Interneteinstellungen abzurufen. Das Einrichten der Proxy-Adresse hat das Problem behoben.


1

Für mich habe ich versucht, ein SVN-Projekt mit TortoiseGit auszuprobieren. Es hat gut funktioniert, wenn ich TortoiseSVN verwendet habe. (Mag offensichtlich erscheinen, aber Neulinge können über diesen stolpern)


1

In meinem Fall habe ich vergessen, am Ende git zum Namen des Respositorys hinzuzufügen.


1

Ich habe git mehrmals zurückgesetzt, und es hat bei mir funktioniert. Stellen Sie sicher, dass Sie die Dateien deaktivieren, während Sie zurücksetzen, dass Sie Änderungen benötigen. Verstauen Sie Ihre Änderungen und ziehen Sie erneut.


1

Ich hatte das gleiche Problem und habe es folgendermaßen gelöst ...

Ich habe das NVIDIA "Tegra Android Development Pack" installiert und es scheint auch eine Version von mysysgit.exe zu haben. TortoiseGit hat diesen Installationsort automatisch gefunden (anstelle der Standard-Git-Installation) und ihn automatisch im Einstellungsmenü ausgefüllt.

Um dies zu korrigieren, gehen Sie zu: "Einstellungen -> Allgemein" und es gibt ein Feld für den Pfad zu mysysgit.exe. Stellen Sie sicher, dass dies auf die richtige Installation hinweist.


1

Eine schnelle Lösung wäre, ein neues lokales Verzeichnis zu erstellen, zum Beispiel c: \ git_2014. Klicken Sie in diesem Verzeichnis mit der rechten Maustaste und wählen Sie Git Clone


0

Stellen Sie sicher, dass die Felder Benutzername und E-Mail in der Konfigurationsdatei nicht leer sind. und versuchen Sie, in ein leeres Verzeichnis zu klonen. Diese Schritte haben bei mir funktioniert.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.