2016-10-17 2 views
0

Иногда я получаю конфликт слияния, когда я git merge. Я получу ошибку:Git: Как мне вернуться в ветку после устранения конфликтов слияния?

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

Это прекрасно, и я исправляю конфликты.

Проблема в том, что, как только это произойдет, я, кажется, вышвырнут из ветки, над которой я работаю. Выполнение git branch просто показывает мне, как на ветке develop.

Если я пытаюсь проверить ветку я просто работает на я получаю ошибку

Please, commit your changes or stash them before you can switch branches.

При попытке совершить или копить я получаю ошибку:

You are not on the correct branch.

Единственный способ Я могу вырваться из этого, чтобы использовать git reset --hard HEAD, что, конечно, означает, что я потерял всю свою работу.

Кто-нибудь знает, почему это происходит и что я могу сделать?

+0

После фиксации конфликта слияния вы должны завершить слияние с помощью 'git commit' (например,' git status' говорит вам). После этого вы автоматически возвращаетесь в филиал, над которым работали. – 1615903

ответ

0
  1. git status, чтобы проверить ваш статус.

  2. git diff, чтобы подтвердить, что вы исправляете конфликты правильно.

  3. git add Ваши файлы.

  4. git commit.

    сделать ваши другие работы ...

0

The only way I can break out of this is to use git reset --hard HEAD which of course means I loose all my work.

Вы делаете это неправильно: используйте git merge --abort или git reset --merge, если вы хотите выйти из текущего Объединить прогресса.

Или закончить текущее слияние, как описано kagv. Третьего варианта нет ... git столкнулся с конфликтом и требует, чтобы вы его разрешили вручную. Так что исправьте его или сбросьте до стабильного.

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

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