web-dev-qa-db-de.com

Git Checkout hängt unbegrenzt an Git-Bash. Wie löst man?

Ich habe an einem Projekt in der Entwicklungsbranche mit git bash auf meinem Arbeitscomputer gearbeitet. Ich habe gerade versucht, mich beim Master-Zweig zu melden, da ich beabsichtige, die Änderungen zusammenzuführen, aber wenn ich versuche, dies zu tun, hängt die Befehlszeile auf unbestimmte Zeit, bis ich sie mit STRG + C töte.

Wenn ich erneut zur Kasse gehe, erhalte ich folgende Fehlermeldung:

In diesem Repository scheint ein anderer Git-Prozess zu laufen, z. ein Editor, der von 'git commit' geöffnet wurde. Bitte stellen Sie sicher, dass alle Prozesse beendet werden, dann erneut versuchen. Wenn es immer noch fehlschlägt, wird ein Git-Prozess Möglicherweise zuvor in diesem Repository abgestürzt: Entfernen Sie die Datei manuell, um fortzufahren.

Nach dem Löschen der Datei index.lock hängt der Versuch, git checkout erneut zu verwenden, jedoch einfach im Terminal und es wird nie ein Fortschritt erzielt, bis ich den Vorgang erneut abschalte! Usw.!

Hat jemand das entdeckt, und wenn ja, wie haben Sie dieses Problem gelöst?

8
jamessct

Ich hatte das gleiche Problem vor kurzem und es scheint mit den aggressiven Indizierungssperrdateien von Sublime Text in meinem Baum in Zusammenhang zu stehen. Wenn Sie ST verwenden, versuchen Sie, die Sperrdatei zu löschen, ST zu schließen und anschließend git checkout master erneut auszuführen.

3
spiralx

Verwandte die Antwort oben. Ich hatte dieses Problem mit Eclipse und Git Shell unter Windows.

Möglicherweise haben Sie folgende Schritte ausgeführt, um in diese Situation zu gelangen:

  1. Erstellen Sie einen Zweig.
  2. Ändern Sie eine Datei in Eclipse (oder Sublime erwartet) und lassen Sie sie geöffnet.
  3. Fügen Sie die Datei hinzu und bestätigen Sie die Verzweigung zu Origin.
  4. Git-Status sagt nichts aus. 
  5. Versuchen Sie, den ursprünglichen Zweig zu überprüfen - er hängt.

So beheben Sie das Problem:

  1. Also Strg-C und löschen Sie die Sperrdatei. 
  2. Beachten Sie, dass git status jetzt modified: filename lautet.

  3. Wechseln Sie zu Eclipse und es wird angezeigt, dass sich die Datei auf der Festplatte geändert hat.

  4. Schließen Sie die Datei in Eclipse. 
  5. Machen Sie die Änderungen mit git checkout -- filename rückgängig.

Nun sollte es möglich sein, die Filiale zu überprüfen.

1
intotecho

Ich hatte Textpad für eine Datei geöffnet, und ich glaube, die Sperrung hat dies verursacht (genau wie spiralx, das über die aggressiven Index-Sperrdateien von Sublime Text erwähnt wurde). Obwohl ich Textpad geschlossen habe, konnte ich den Zweig immer noch nicht wechseln. Ich habe meine VM neu gestartet und dann war alles in Ordnung - nicht mehr hängen. :-)

0
Bosco