Wykonałem taki rebase:
git rebase --onto master new_background_processing export_background_processing
Nie zrobiłem tego, co chciałem, więc wykonałem reset:
git reset --hard HEAD@{1}
Przywróciłem swój oddział do stanu, w którym był, ale otrzymałem ten komunikat, gdy wpisuję status git:
# You are currently rebasing branch 'export_background_processing' on 'e378641'.
Jak całkowicie anulować tę bazę? Nie jestem pewien, co to oznacza per se.
git rebase --quit
. Zobacz moją odpowiedź poniżejOdpowiedzi:
Zastosowanie
git rebase --abort
. Z oficjalnej dokumentacji jądra Linux dlagit rebase
:źródło
git rebase --abort
nie zadziałało, bo coś pomieszałem. Mam tylko następujący błąd:error: could not read '.git/rebase-apply/head-name': directory of file does not exist
.git rebase --quit
Opisane poniżej rozwiązać mój problem.W przypadku wcześniejszej bazy, której nie przerwałeś poprawnie, teraz (Git 2.12, Q1 2017) masz
git rebase --quit
Zobacz commit 9512177 (12 listopada 2016) autor: Nguyễn Thái Ngọc Duy (
pclouds
) . (Połączone przez Junio C Hamano -gitster
- w commit 06cd5a1 , 19 grudnia 2016)Przed Git 2.27 (Q2 2020) wpis skrytki utworzony przez „
git merge --autostash
” w celu utrzymania początkowego stanu nieczystości został odrzucony przez pomyłkę po „git rebase --quit
”, co zostało poprawione.Zobacz zatwierdzenie 9b2df3e (28 kwietnia 2020 r.) Przez Denton Liu (
Denton-L
) .(Połączone przez Junio C. Hamano -
gitster
- w comm 3afdeef , 29 kwietnia 2020)(Zobacz „ Czy„
git pull
”może automatycznie ukrywać i usuwać oczekujące zmiany? ”)źródło
git rebase
, zamiast tracić je tak jak właśnie to zrobiłem: P.Masz szczęście, że nie ukończyłeś bazy, więc możesz to zrobić
git rebase --abort
. Gdybyś ukończył rebase ( przepisuje historię ), sprawy byłyby znacznie bardziej skomplikowane. Zastanów się nad oznaczeniem końców gałęzi przed wykonaniem potencjalnie szkodliwych operacji (szczególnie przepisywania historii), aby w ten sposób przewinąć, jeśli coś wybuchnie.źródło
Jeśli jesteś „Rebasing” , „Już uruchomiłeś rebase”, który chcesz anulować , po prostu skomentuj
(#)
wszystkie zatwierdzenia wymienione w edytorze rebase.W rezultacie otrzymasz wiadomość z wiersza poleceń
źródło