Подтвердить что ты не робот

Невозможно совершить слияние в Sourcetree

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

"фатальный: вы находитесь в середине слияния - не можете изменить."

Как я могу это решить? насколько я знаю, я разрешил все конфликты, мне просто нужно завершить слияние и зафиксировать изменения. но продукт не позволит мне и не дает мне никаких подсказок относительно того, что я должен делать дальше, и нет возможности "завершить слияние"

Каждый раз, когда я пытаюсь зафиксировать свои изменения, я получаю сообщение об ошибке, и теперь я понятия не имею, что с этим делать!

4b9b3361

Ответ 1

Вы можете вручную удалить .git/MERGE_HEAD, и Git не сможет сказать, что вы только что сделали слияние. Это позволит вам изменить предыдущий коммит с изменениями в вашем индексе, как обычно.

Пожалуйста, прочитайте:

Хотя это будет работать, это взломать и не рекомендуется. Все, что нужно здесь, это дать git знать, что слияние завершено git commit -a согласно этому ответу.

Ответ 2

Сделайте git commit -a после устранения конфликтов. Это последний шаг при слиянии конфликтов.

Ответ 3

После разрешения конфликтов вы должны попробовать "git rebase -continue" для завершения переадресации. Предположим, что commit -amend разрешен.

Ответ 4

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

Ответ 5

Если вы пытаетесь изменить предыдущий коммит и знаете, что будут конфликты слияний, то принудительно нажмите на изменения (если вы уверены, что хотите, чтобы текущие изменения отменяли удаленные изменения).

First commit:

 1. git add test.txt
 2. git commit -m "some changes"
 3. git push

Second commit after some changes in same file which will result in merge conflict and we know we want only the latest changes that we did in this file:

1. git add test.txt
2. git commit --amend
3. git push -f

В противном случае мы можем застрять в цикле слияния и фиксации.