Я использую git svn
, чтобы получить некоторые преимущества git с сервером 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
.