Mam 2 oddziały w moim repozytorium. W żadnym z nich nie było żadnych niezatwierdzonych zmian.GIT Operacja ponownego podbicia została przerwana przez awarię komputera. Teraz repozytorium jest niedostępne.
Wyciągnąłem gałąź1, sprawdziłem gałąź2 i uruchomiłem branch2 rebase na branch1.
W połowie pracy mój komputer się zawiesił.
Po uruchomieniu, otwieram GitExtensions, aby stwierdzić, że moje repozytorium jest całkowicie puste, widzę migające 'rebase under way'
lub coś w tym stylu, klikam to i wyskakuje mi okno, w którym muszę wybrać rozwiązanie konfliktów, co nie miało się stać. Jeśli kliknę "rozwiąż", otworzy się okno, w którym powinny być wyświetlane pliki będące w konflikcie i oczywiście ich nie ma.
Próbowałem kliknąć abort rebase
, ale powiedziałem, że folder to not a git repository or any of the parents
.
Od tego czasu nie mogę NIC. Nie mogę przerwać, nie widzę commitów. Otwieranie bitu git mówi mi tylko, że nie jest to repozytorium, gdy piszę, że to nie jest repozytorium.
No i nie obchodzi, że dużo o nieudanej rebase Ale ja zauważyłem, że wszystkie moje pliki źródłowe zwrócił się do plików binarnych i to znaczy, moi unpushed commity zostaną utracone, chyba że chłopaki mogą mi pomóc go odzyskać.
Chciałem odrodzić oddział i popchnąć go ... to jest frustrujące.
EDIT 1:
.git
katalog jest katalogiem repozytorium (/some/path/to_repo/repo_name/.git
), jak należy. Awaria komputera zakończyła się w momencie ponownego użycia potwierdzenia branch2. Oznacza to, że branch1 commit zostały już zastosowane do branch2, jedyne co zostało, to dokończenie stosowania branch2 commitów. I rozbił się po tym, jak zastosowano 10 lub 20 zatwierdzeń.
Mam teraz porównać direcotries .git klonowanego repo i ten, który rozbił.
sklonowanego repo miał te foldery:
haki
informacji
kłody
obiektów
bibl
i te pliki:
config
opis
HEAD
indeks
pakowane-bibl
rozbitego jeden ma dodatkowy folder o nazwie rebase-apply
również dodatkowe pliki:
COMMIT_EDITMSG
FETCH_HEAD
ORIG_HEAD
Wszystko inne wydaje się pasować. Nie chodziłem do folderów głębiej. I nie próbowałem porównywać zawartości pliku.
Gdzie jest katalog .git? Co jest w środku? Repo nie powinno być uszkodzone, chyba że git został przerwany w trakcie pisania repozytorium (co nie zdarza się często). – nneonneo
Dodałem dodatkowe informacje jako Edytuj, proszę sprawdzić to i powiedzieć, czy muszę podać więcej. – user1651105
Ogólnie git mówi, że jeśli 'HEAD' nie istnieje. W środku rebase "HEAD" będzie zawierać surowy SHA-1, może zawiera on uszkodzony lub wcale? W takim przypadku umieszczenie prawidłowego "HEAD" w miejscu może doprowadzić cię do następnego kroku. – torek