Восстановление после неудачной перебазировки

Я использую git svn , чтобы получить немного git Боже мой, с сервером svn, санкционированным компанией.У меня только что произошла ошибка с перебазированием, и я пытаюсь найти лучший способ восстановления.

Здесь ' \ - B - C - D - E (функция / исправления-виджеты)

  • Затем я выполнил git checkout master , а затем git svn rebase на master, чтобы удалить эти коммиты. Я не ожидал каких-либо конфликтов между моей функциональной веткой и главной, потому что изменения были в совершенно другой папке. Итак, на данный момент, я думаю, у меня есть это:

     --- 1-2-3-4 (мастер)
     \ - B - C - D - E (функция / исправления-виджеты)
    

    Где 1–2–3–4 - это коммиты, извлеченные из svn.

  • Затем я выполняю git checkout feature / fix-widgets , а затем ] git rebase master . Сразу возникает конфликт, и некоторые вещи не сходятся, поэтому я решаю ускользнуть и посмотреть на вещи более внимательно. Я делаю git rebase --abort , надеясь, что это вернет меня туда, где я был до перебазирования.

  • Я делаю git rebase --abort и получаю следующее сообщение

     ] $ git rebase --abort
     ошибка: git checkout-index: невозможно создать файл somedir / somefile.cs (в разрешении отказано)
     фатальный: не удалось сбросить индексный файл до версии be44daa05be39f6dd0d602486a598b63b6bd2af7.
    
  • Теперь я не знаю, что делать. git status показывает, что я использую feature / fix-widgets , но у меня есть целая куча поэтапных изменений и большое количество неотслеживаемых файлов, которые ранее были зафиксированы. Было бы хорошо, если бы я мог вернуться E .

  • 21
    задан davidtbernal 11 January 2011 в 17:26
    поделиться