Ответ 1
git push -f origin myBranch
должен работать (если вы знаете, что это может быть опасно, если MyBranch уже был выбран другими в своем собственном репо)
Примечание: если ваше дистанционное репо ('origin') имеет config с
receive.denyNonFastForwards true
он откажется от любого неуправляемого нажатия (даже при принудительном).
См. "Есть ли способ настроить хранилище git для отклонения 'git push -force'?".
OP user654019 сообщает
Мне удалось решить проблему на этот раз, установив
denyNonFastForwards
вfalse
и используя-f
, чтобы заставить push
Если OP не имел доступа к репо, ему/ей пришлось бы:
- reset локальная HEAD в исходное положение (см. "Восстановление из
git reset --hard?
" ):git reset [email protected]{1}
- создайте новый коммит, который отменяет ваше слияние, как описано в книге ProGit,
git revert
git revert -m 1 HEAD~
(в вашем случае)
Пример:
$ git revert -m 1 [sha_of_C8]
Finished one revert.
[master 88edd6d] Revert "Merge branch 'jk/post-checkout'"
1 files changed, 0 insertions(+), 2 deletions(-)
Полное обсуждение того, как вернуть слияние, можно найти .
Идея состоит в том, чтобы генерировать только новые коммиты, в том числе возвращать изменения, внесенные слиянием. Затем вы можете нажать эту новую фиксацию как быстрое переключение.