Git - Wie behebe ich "beschädigte" interaktive Rebase?

Ich habe es geschafft, ein kleines Durcheinander in meinem lokalen Git-Repository zu erzeugen. Ich habe versucht, einen fehlerhaften Commit mit dem @ zu behebefolgende Anweisunge. Vor dem Ausführen des "git commit --amend" (und nach dem "git rebase --interactive") habe ich festgestellt, dass meine Änderungen nicht korrekt sind, und habe "git reset HEAD --hard" ausgeführt. Keine gute Idee, sage ich dir.

Jetzt scheint die interaktive Rebase "hängen geblieben" zu sein. Git zeigt den aktuellen Zweig als (| REBASE-m). Jeder Befehl (cd .., ls, git rebase ...) in meinem Repository gibt den folgenden Fehler aus:

cat: .git / rebase-merge / head-name: Keine solche Datei oder kein solches Verzeichnis

So sieht git rebase --abort aus:

$ git rebase --abort
cat: c:/_work/project/src/git/.git/rebase-merge/quiet: No such file or directory
cat: c:/_work/project/src/git/.git/rebase-merge/head-name: No such file or directory
cat: c:/_work/project/src/git/.git/rebase-merge/orig-head: No such file or directory
HEAD is now at 4c737fb Revert "Modified file names"
rm: cannot remove `c:/_work/project/src/git/.git/rebase-merge/done': Permission denied
rm: cannot remove directory `c:/_work/project/src/git/.git/rebase-merge': Directory
not empty
cat: .git/rebase-merge/head-name: No such file or directory

Hier ist das Ergebnis von git rebase --continue:

$ git rebase --continue
cat: c:/_work/project/src/git/.git/rebase-merge/prev_head: No such file or directory
cat: c:/_work/project/src/git/.git/rebase-merge/end: No such file or directory
cat: c:/_work/project/src/git/.git/rebase-merge/msgnum: No such file or directory
cat: c:/_work/project/src/git/.git/rebase-merge/onto: No such file or directory
cat: c:/_work/project/src/git/.git/rebase-merge/quiet: No such file or directory
prev_head must be defined
cat: .git/rebase-merge/head-name: No such file or directory

Irgendwelche Ideen? Ich möchte die Situation wieder in den Zustand zurückversetzen, in dem sie war, bevor ich mit meiner wohlüberlegten Rebase-Operation begonnen habe.

So zeigt git log --oneline die Situation:

4c737fb Revert "Modified file names"
247ac02 Modified file names
33141e6 Message modifications
10a4a04 Modified db script

Und das ist in Ordnung.

Ich verwende msysgit v1.7.0.2.

Antworten auf die Frage(28)

Ihre Antwort auf die Frage