2016-08-05 12 views
37

Miałem zamiar zrobić rebase, aby usunąć moje ostatnie zatwierdzenie, ale nie chciałem kończyć, więc wyszłam. (Rozumiem, że to prawdopodobnie nie był najlepszy sposób, aby to osiągnąć, ale jest zrobione) Sądzę, że zrobiłem to źle, ponieważ dostaję błąd: fatal: Could not open file .git/rebase-merge/done for reading: No such file or directory za każdym razem, gdy uruchamiam git status. Jak pozbyć się tego błędu, aby móc kontynuować zatwierdzanie? Czy mogę po prostu usunąć plik? Jeśli mogę to usunąć, w jaki sposób mogę to zrobić?fatal: Nie można otworzyć pliku .git/rebase-merge/gotowe do odczytu: Brak takiego pliku lub katalogu

+1

Cóż, próbowałem 'git rm .git/rebase-merge/done', a to nie zadziałało – Andrea

+2

czy próbowałeś rebase --abort? – DavidN

+0

O mój Boże, jestem taki noob. LOL To działało !! – Andrea

Odpowiedz

61

Spróbuj zrobić git rebase --abort. Upewnij się, że wszystkie niezatwierdzone zmiany zostały najpierw zmienione na stash lub commit, inaczej stracisz je nieodwołalnie. Rozwiązanie

+9

OSTRZEŻENIE: jeśli masz jakieś niezatwierdzone zmiany, może to nieodwołalnie je usunąć :(Uruchomiłem dziś rano, wykonałem jakąś pracę, próbowałem popełnić ten błąd, googlełem i znalazłem tę odpowiedź, wypróbowałem i ostatnią godzinę pracy zniknął na dobre – slinkp

+0

@Blisco, nagroda za aktualizację odpowiedzi –

+0

Tak, dziękuję @ Blisco – DavidN

2

DavidN by przerwać rebase jest wielki tak długo, jak nie masz żadnych Unstaged zmian od ostatniego rebase dzieje południe!

Jeśli napisałeś kod po próbie rebase, ignorując komunikat could not open file .git/rebase-merge/done,

wtedy najlepiej jest zrobić

git stash 

aby zapisać zmiany lokalne i tylko wtedy przerwać rebase.

Jestem pewien, że jest to jedno z tych pytań o stackoverflow, gdzie ludzie, którzy są chętni, aby rozwiązać swój problem bez uwzględnienia implikacji, po prostu uruchomią polecenie przerwania i pożałują tego wkrótce.

Powiązane problemy