Как вернуться к предыдущей версии в git
У меня есть контрольная копия удаленного репозитория git на моей рабочей станции.
Я случайно совершил изменение в моем местном и нажал на удаленный.
Теперь я хочу удалить последнюю фиксацию и вернуться к предыдущей фиксации, и то же самое нужно нажать на удаленный.
Я в порядке, если это новая фиксация с сообщением фиксации. Как это сделать?
Ответы
Ответ 1
Я бы посоветовал не настаивать на альтернативной истории.
Любой, кто уже вытащил ваши изменения, будет иметь полностью завуалированную историю, с которой можно справиться, когда тянет новые вещи.
Более безопасный вариант - просто сделать
git revert HEAD~1
git push origin master
git revert будет записывать новый коммит, который отменяет все эффекты предыдущего
Ответ 2
Если никто еще не клонировал ваше обновленное дистанционное репо, вы можете:
git reset --hard HEAD~
git push --force
Это заставит локальную и удаленную историю отказаться от последней фиксации.
(Сначала проверьте с помощью git fetch, что никаких новых коммитов не было сделано с момента вашего неправильного коммита)
Если новая история не является опцией, тогда git revert
более безопасен и будет приведет к новой фиксации, отменяющей предыдущую: вы можете нажать эту новую фиксацию.