2010-10-28 2 views
3

ВыпускСлияние филиал на не обновленный мастер

Я слился филиал в мастер не обновляется на последней фиксации.

Что я

Я слился филиал в мастер

git merged BRANCHNAME 

Конфликты

Automatic merge failed; fix conflicts and then commit the result. 

git commit -a -m "Resolved conflicts while merging email-fix branch" 

Затем я попытался оттолкнуть все мастера происхождения, но он говорит:

! [rejected]  master -> master (non-fast-forward) 

Как я могу решить эту проблему?

ответ

1

Вы можете сделать:

  • git pull --rebase, чтобы повторить свой слияния на вершине до современных мастер филиала
  • затем в git push (который должен пройти гладко)

Другой альтернативой было бы заставить толчок, что означало бы потерять недавнюю историю на удаленном хозяине: не очень хорошая идея.

Обе альтернативы представлены в Git FAQ, хотя предлагается только простой git pull.
git push man page упоминает git pull --rebase:

Например, предположим, что вы и кто-то начал в то же совершить X, и вы создали историю, ведущую к совершению B в то время как другой человек построил историю, ведущую к совершению A. История выглядит следующим образом:

 B 
    /
---X---A 

В качестве альтернативы, вы можете перебазироваться ваши изменения между X и B на вершине A, с «git pull --rebase» и нажмите результат обратно. В rebase будет создан новый фиксатор D, который будет строить изменения между X и B поверх A.

 B D 
    //
---X---A 

Опять же, обновление A с этой фиксацией будет быстро вперед, и ваш толчок будет принят.

+0

Благодарим вас за ответ. Я решил проблему;) – zetareticoli

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