2015-11-05 3 views
0

Это моя ситуация. Я работаю на ветке MiniMaxAB (зеленая линия)Не удается вернуться после слияния в Git

enter image description here

Я случайно слиты ветку (фиолетовый) в шахту (зеленый) и толкнул его. Что глупо (я только начал изучать git) и плохо для нашей цели. Теперь я хотел бы вернуть это и отменить это слияние. Поэтому я взял хэш последней фиксации в зеленой ветке до слияния (которая не видна на этом графике, потому что 15дней старый) и попытался вернуться:

git revert 86ed202152e719ae719654f7805bd2991f63fd29 

К сожалению, это не работает ... Это то, что мерзавец говорит:

enter image description here

Так я пытался со сбросом, который работает

git reset 86ed202152e719ae719654f7805bd2991f63fd29 

Но ВГ ен я тужиться, я получаю эту ошибку:

enter image description here

Как я могу это исправить?

+0

Я уверен, что у вас есть «unmereged» файлы (есть некоторые файлы конфликтов, вы еще не объединили его вручную). измените ваше шоу 'git status' для нас –

+0

Вот статус git после сброса: https://gyazo.com/f2f07895c0ddf68b6b3536e7d2ffd754 –

+0

Я думаю, что' revert' вы должны сказать, что фиксация отменена, а не та, которая возвращается к. Для 'reset', затем' push', это не нравится, потому что вы изменили историю. Вы можете заставить его нажать «git push -f», но это может быть плохой идеей, если ваши соавторы уже вытащили ваше обновление. – Steve

ответ

0

Вы должны выполнить следующие действия:

Шаг 1: Вручную объединить файл конфликтную minmax_ab_engine.e и ticktactoe.e (Открыть эти файлы и редактировать их)

Шаг 2: Добавить этап по git add -A

Шаг 3: Зафиксируйте эти файлы git commit -m 'merge conflict files

Шаг 4: Извлеките обновление с пульта на git pull origin MiniMaxAb

Шаг 5: Напрягите обновление удаленного git push origin MiniMaxAb

В случае, если вы хотите вернуться, вы можете обойти шаг 4,5

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