2010-08-11 5 views
4

У меня проблема, когда я пытаюсь перегрузить ветвь вверх по течению в ветку темы. Рабочий процесс выглядит так:Неустранимая ошибка с `git rebase upstream-branch` в ветке темы

git checkout upstream 
git pull origin upstream 
git checkout topic 
git rebase upstream 

Результат выглядит следующим образом:

First, rewinding head to replay your work on top of it... 
Applying Refactored database access and added logging 
error: patch failed: path/to/file1.ext:21 
error: path/to/file1.ext: patch does not apply 
error: path/to/file2.ext:3 
error: path/to/file2.ext: patch does not apply 
fatal: mode change for path/to/file3.ext, which is not in current HEAD 
Repository lacks necessary blobs to fall back on 3-way merge. 
Cannot fall back to three-way merge. 
Patch failed at 0001. 

Это случилось со мной вчера, и я сделал мое исследование и ничего не нашли, так что в конце концов я использовал git merge upstream вместо git rebase upstream и все сработало. Реальная проблема заключается в том, что ошибка появляется и сегодня. Я уже синхронизирован с восходящим потоком из-за вчерашнего слияния. Кроме того, я не изменял файлы, представленные моими товарищами по команде со вчерашнего дня.

My Git версия 1.5.6.5 (и на самом деле не хочется обновлять ее на этой машине, я боюсь нежелательных последствий).

ответ

9

Я обнаружил, что в таких случаях может использоваться опция --merge. (Git будет делать rebase тем не менее.)

+0

Спасибо, кажется, решить эту проблему. Ну, у меня есть некоторые конфликты, но это уже другая история. –

+0

Использования «присоединяемых стратегия» перебазироваться сделал трюк для меня тоже, когда я имел следующие ошибки: изменение режима , который не находится в текущей ошибке ГОЛОВЫ :: 'ошибки не может построить поддельный ancestor' (I» m опубликовать это, если это поможет кому-то шаблону соответствовать их проблеме против этого решения, которое сработало для меня). Я не уверен, что rebase делает, когда _not_ использует стратегию слияния (по умолчанию рекурсивный, который, кажется, исправил это) ... – silasdavis

0

У меня было то же самое, и это оказалось вызвано сообщением фиксации, которое имело diff в сообщении.

Может попробовать: мерзавец журнал --grep ++

... увидеть, если это так ..

Смежные вопросы