Mam poważny problem przy próbie wykonania git rebase --interactive
na moim repo. Dostaję tajemniczy błąd fatal: ref HEAD is not a symbolic ref
, a mój rebase przestaje działać. Muszę git rebase --abort
, aby powrócić do dobrego stanu.Nie mogę git rebase - już jest aktywny
Oto wyjście (s) Otrzymuję: https://gist.github.com/d38f1e2d2ec9bc480b6f
Co mi powiedziano w przeszłości, że jest to spowodowane faktem, że jestem w „odłączonym Head” tryb, ale w jaki sposób Znalazłem się w podstawce, gdybym był w tym trybie? Z całą pewnością zaczynam od master
, następnie uruchamiając git rebase --interactive
i modyfikując plik tekstowy git-rebase-todo na to, co chcę. I wtedy ten błąd się dzieje.
Poprosiłem wszystkich tutaj w pracy, a niektórzy ludzie @ # git na freenode. Wydaje się, że nikt nie rozumie mojego problemu lub nie wie, jakie to rozwiązanie. Wyszukiwarka Google dla tego błędu nic nie dała, odpowiednie wyszukiwania w StackOverflow nie dowiodły niczego. Nie mogę tego zrozumieć, a to jest naprawdę kulawe, idąc od zgniatania każdego zatwierdzenia, które popycham do opanowania, aby teraz pchnąć każdą niewielką zmianę, którą wprowadzam jako własne oddzielne zatwierdzenie.
Zasobnik succezsfull -i jest opisany tutaj: http://davidstechtips.com/2011/03/collapsing-commits-in-git/. W twoim przypadku spróbuj 'git checkout master ', np. '8bbfbba' może? Lub nie zrobiłeś 'git rebase --continue' po konflikcie? – VonC
Możliwe, że nadal znajdujesz się w poprzednim rebase, który odłącza głowę podczas jej ponownego przetwarzania. Może się to zdarzyć z łatwością podczas dużego przebicia w żarze naprawiania bieżącego interaktywnego kroku i możesz się rozproszyć. Właśnie pracowałem nad rebase, w którym miałem dużo pracy (wiele małych kroków), ale skończyłem robiąc oddzielny 'rebase -i' na każdy krok tak, żebym się nie zgubił. Pomocne będzie również uruchomienie wizualizatora git-gui i gitk. [upewnij się, że zaczynasz od jednej ze swoich lokalnych oddziałów] –
Możesz ustalić, czy faktycznie jesteś w oddzielnym trybie HEAD, patrząc na zawartość '.git/HEAD', jeśli zawiera tekst taki jak" ref: refs/heads/... "nie jesteś _ w oddzielnym trybie HEAD. Jeśli, z drugiej strony, zawiera on identyfikator SHA-ID (na przykład pełen ciąg liter i cyfr), rzeczywiście znajduje się w oddzielnym trybie HEAD. –