Для начала, как указывал @RomainVALERI, я бы очень осторожно сбросил историю в удаленной ветви, которая используется совместно с другими.Например, если это ветвь dev или master , сбросить историю каким-либо образом не рекомендуется.
Существует два распространенных способаотменить коммит в git.
1.Отменить неудачный коммит (без изменения истории)
Это самый безопасный путь для общих веток, таких как dev , master и т. Д., Поскольку кто-то, возможно, уже вытянулв плохом коммите, который вы сделали.Вы просто создаете новый коммит, который отменяет неверный коммит и нажимаете.
git revert <commit_hash>
git push
Поскольку ваш вопрос говорит мне, что это самый последний коммит (на который указывает HEAD
), вы также можете сделать git revert HEAD
и нажмите.
2.Сброс старого коммита и принудительное нажатие (переписать историю)
Вы можете выбрать этот маршрут, если вы работаете с веткой.Это может быть функция или bugfix ответвление.Поскольку вы работаете над этим, переписывание истории не будет иметь большого значения.Опять же, я предполагаю, что это самый последний коммит, который вы хотите удалить.Существуют более сложные способы работы со старым коммитом (см .: git rebase )
Как сказал в своем ответе @Rohan, просто сбросьте свой HEAD
на коммит до плохого коммитаи принудительное нажатие.
git reset HEAD
git push --force
Обновление 1-
Хостинг-провайдеры (, а именно VSTS, GitHub ) также позволяют администраторам устанавливать политики филиалов, которые нужны всемпридерживаться.Очень распространенная политика для веток dev / master - отключить « force push » по той причине, о которой я упоминал выше.Если это общий репозиторий, есть большая вероятность, что у вас могут не быть привилегии " force push ", и вам придется выбрать маршрут " revert ".