Удалить последнюю фиксацию из удаленного хранилища git
Возможный дубликат:
Откат локального и удаленного репозитория git с помощью 1 фиксации
Как удалить последнюю фиксацию из удаленного репозитория git, например, я больше не вижу его в журнале?
Если, например, git log
дает мне следующую историю фиксации
A->B->C->D[HEAD, ORIGIN]
как я могу перейти на
A->B->C[HEAD,ORIGIN]
Спасибо.
Ответы
Ответ 1
Будьте осторожны, чтобы это создало "альтернативную реальность" для людей, которые уже извлекли/вытащили/клонировали из удаленного репозитория. Но на самом деле это довольно просто:
git reset HEAD^ # remove commit locally
git push origin +HEAD # force-push the new HEAD commit
Если вы хотите сохранить его в своем локальном репозитории и удалить его только с удаленного устройства, вы можете использовать:
git push origin +HEAD^:<name of your branch, most likely 'master'>
Ответ 2
Если никто не потянул его, вы, вероятно, можете сделать что-то вроде
git push remote +branch^1:remotebranch
который будет принудительно обновлять удаленную ветвь до последнего, но одного фиксации вашей ветки.