Używam git svn
do uzyskania dobrej jakości git z autoryzowanym przez firmę serwerem svn. Właśnie miał rebase iść strasznie krzywo, a ja "m próbuje dowiedzieć się, że najlepszym sposobem na odzyskanieOdzyskiwanie po nieudanym ponownym uruchomieniu
Oto co się stało.
Na początek, miałem ten
---1 (master) \--B--C--D--E (feature/fix-widgets)
Tak więc zrobiłem
git checkout master
, a następniegit svn rebase
na master, aby usunąć te zatwierdzenia.Nie przewidywałem żadnych konfliktów między moją gałęzią funkcji a wzorcem, ponieważ zmiany były w zupełnie innym folderze. Więc w tym momencie myślę Mam to:---1--2--3--4 (master) \--B--C--D--E (feature/fix-widgets)
Gdzie
1--2--3--4
są zobowiązuje wyciągnął z SVN.Następnie wykonuję
git checkout feature/fix-widgets
, a następniegit rebase master
. Natychmiast dochodzi do konfliktu i niektórych rzeczy, które się nie sumują, więc postanawiam odejść i przyjrzeć się uważniej. Robięgit rebase --abort
, mając nadzieję, że przywróci mnie to do miejsca, w którym znajdowałem się przed zbiorem.zrobić
git rebase --abort
i pojawia się następujący komunikat$ git rebase --abort error: git checkout-index: unable to create file somedir/somefile.cs (Permission denied) fatal: Could not reset index file to revision 'be44daa05be39f6dd0d602486a598b63b6bd2af7'.
Teraz nie jestem pewien, co zrobić.
git status
pokazuje, że jestem nafeature/fix-widgets
, ale mam całą masę zmienionych etapów oraz dużą liczbę nieśledzonych plików, które zostały wcześniej zatwierdzone. Byłbym w porządku, gdybym mógł odzyskaćE
.
Spotkałem się z tym samym problemem - zgaduję, że korzystasz z git na Windows, ten uroczy system operacyjny, który myślał, że udostępnianie zamków było dobrym pomysłem. Domyślam się, że powodem, dla którego dusił on plik somedir/somefile.cs, było to, że był gdzieś otwarty ... to było przyczyną mojego nieudanego rebase. Zamknięcie wszystkich otwartych programów, jakie mogłem znaleźć, zresetowanie zgodnie z wybraną odpowiedzią, a następnie ponowne przesłanie, działało bez problemu. –
+1 za dobrze napisane pytanie, które uratowało mnie przed płaczem. – Tinman