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.