gegangen Ich hatte drei commits in Git gemacht. So was.Änderungen, nachdem GIT Rebase
asaurab-3.desktop% git lg
* 931b405 - (HEAD -> saurabh, origin/saurabh) minor fixes (6 minutes ago) <Saurabh Kumar Agarwal>
* 838d366 - adding upload and download functionality (15 minutes ago) <Saurabh Kumar Agarwal>
* 0d62348 - first commit (7 days ago) <Saurabh Kumar Agarwal>
* 4797854 - (origin/mainline, origin/HEAD, mainline) commit (2 weeks ago) <Perforce Administrator>
Ich wollte diese drei Commits Squash so habe ich
git rebase -i HEAD~3
Es öffnete ein Fenster, mit drei Commits. Ich ersetzt alle drei pick
zu squash
und bestehen aus Editor :wq! .
Ich habe die Fehlermeldung
Cannot 'squash' without a previous commit
Nun meine git lg
zeigt
* 4797854 - (HEAD, origin/mainline, origin/HEAD, mainline) commit (2 weeks ago) <Perforce Administrator>
Alle meine Änderungen gegangen verwenden. Wie kann ich sie zurückbekommen?
Dies ist die Ausgabe von git status
git status
interactive rebase in progress; onto 4797854
No commands done.
Next commands to do (3 remaining commands):
squash 0d62348 first commit
squash 838d366 adding upload and download functionality
(use "git rebase --edit-todo" to view and edit)
You are currently editing a commit while rebasing branch 'saurabh' on '4797854'.
(use "git commit --amend" to amend the current commit)
(use "git rebase --continue" once you are satisfied with your changes)
Wahrscheinlich macht 'git rebase --abort' mehr Sinn. Wenn das Rebase fehlerhaft ist, weil das interaktive Skript unterbrochen ist, ist es unwahrscheinlich, dass ein "Fortsetzen" einen großen Unterschied macht. –
Ja, offensichtlich würde 'git rebase --abort' die Rebasing stoppen und zurück zum vorherigen funktionierenden Baum. Aber ich denke hier ist es kein Fehler (nur regelmäßige Informationen während der Umlagerung)! –
Ja @sajibkhan, Es ist kein Fehler. Es ist regelmäßig Informationen beim Rebasing. Ich habe einfach ausgerastet und git log angesehen. –