В дополнение к новому решению для ветвей, на которое намекают Nivrutti Pawar и Shakil , я бы посоветовал вам также восстановить ветку до ее состояния перед объединением.
Явные шаги ниже.
Фаза 1: найдите коммит слияния (если вы ничего не сделали после неудачного слияния, перейдите непосредственно к фазе 2 и используйте HEAD^
для <bad-commit>
)
# in case you're not presently on your branch
git checkout your-branch
# now we need to spot the merge commit where things went awry,
# it's probably not too far in your history, so spot its commit hash in the log
git log --oneline
В списке вывода вы сможете определить, что такое хеш коммита неудачного слияния, я просто буду использовать <bad-commit>
для целипример.
Фаза 2: вернуться в историю
# Rewind history to the point just BEFORE the bad merge, so mind the caret
git reset --hard <bad-commit>^
В этот момент ваша ветвь находится в состоянии, в котором она находилась перед слиянием, но вынеобходимо принудительно перенести его на пульт дистанционного управления, чтобы отразить эту новую историю, поэтому обязательно сообщите об этом своим коллегам заранее, а затем
git push --force origin HEAD
(А поскольку вы не одиноки в проекте, возможно, возьмите посмотрите на --force-with-lease
)