Я использую git svn
, чтобы получить немного деликатности с svn-сервером, установленным компанией.У меня только что произошла ужасная перебазировка, и я пытаюсь найти лучший способ восстановления.
Вот что произошло:
Для начала яимел это
---1 (master)
\--B--C--D--E (feature/fix-widgets)
Итак, я сделал git checkout master
, а затем git svn rebase
на мастере, чтобы снять эти коммиты. Я не ожидал каких-либо конфликтов между моей ветвью функций и мастеромпотому что изменения были в совершенно другой папке. Поэтому на данный момент, я думаю, у меня есть это:
---1--2--3--4 (master)
\--B--C--D--E (feature/fix-widgets)
Где 1--2--3--4
- это коммиты, извлеченные из SVN.
Далее я делаю git checkout feature/fix-widgets
, а затем git rebase master
. Сразу же возникает конфликт, и некоторые вещи не складываются, поэтому я решаю уйти и посмотреть на вещи более тщательно. Я делаю git rebase --abort
,в надежде, что это восстановит меня там, где я был до ребазинга.
Я делаю git rebase --abort
и получаю следующее сообщение
$ 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'.
Теперь я не уверен, что делать. git status
показывает, что я на feature/fix-widgets
, но у меня есть целая куча поэтапных изменений и большойколичество неотслеживаемых файлов, которые были ранее зафиксированы.Я был бы в порядке, если бы мог вернуться E
.