Отменить git слить после merge.renameLimit предупреждение плюс конфликты

Я пытаюсь выполнить сквош слияния из ветки девелла в мастер.

stefanos-imac:trunk borini$ git merge --squash devel
CONFLICT (content): Merge conflict in test1
warning: inexact rename detection was skipped due to too many files.
warning: you may want to set your merge.renamelimit variable to at least 2224 and retry the command.
Squash commit -- not updating HEAD
Automatic merge failed; fix conflicts and then commit the result.

достаточно справедливо.

stefanos-imac:trunk borini$ git config merge.renameLimit 999999

Затем я пытаюсь отменить слияние и переделать его с более высоким пределом

stefanos-imac:trunk borini$ git merge --abort
fatal: There is no merge to abort (MERGE_HEAD missing).

Хорошо, возможно, мне нужно сделать то, что он говорит, и просто повторно запустить команду слияния

stefanos-imac:trunk borini$ git merge --squash devel
fatal: 'merge' is not possible because you have unmerged files.
Please, fix them up in the work tree, and then use 'git add/rm <file>' as
appropriate to mark resolution and make a commit, or use 'git commit -a'.

oh git, почему вы такой git?

Насколько это важно, кто-нибудь знает, как выйти из этой ситуации?

Ответы

Ответ 1

Em, git reset --hard origin/master?

Ответ 2

Современный способ отмены слияния (но это работает только при наличии MERGE_HEAD):

git merge --abort

И немного более старый способ, который будет работать в этом случае (MERGE_HEAD отсутствует):

git reset --merge

Путь старой школы, описанный в принятом ответе (предупреждение: отменит все ваши локальные изменения):

git reset --hard

Итак, обратите внимание, что git merge --abort эквивалентен только git reset --merge, если присутствует MERGE_HEAD. Это можно прочитать в справке git для команды merge.

git merge --abort is equivalent to git reset --merge when MERGE_HEAD is present.

После неудачного слияния, когда нет MERGE_HEAD, сбойное слияние может быть отменено с помощью git reset --merge, но необязательно с git merge --abort.

Ответ 3

git merge --abort также выполнит трюк. Немного быстрее, чем ввести полную команду git reset.

Прерывание также работает с rebase и cherry-pick.