Как вернуться к предыдущей версии в git - PullRequest
11 голосов
/ 01 августа 2011

У меня есть контрольная копия удаленного git-репозитория на моей рабочей станции. Я случайно совершил изменение в моем местном и толкнул к удаленному. Теперь я хочу удалить последний коммит и вернуться к предыдущему коммиту, и то же самое должно быть отправлено на удаленный сервер.

Я в порядке, если это новый коммит с сообщением коммита. Как это сделать?

Ответы [ 2 ]

10 голосов
/ 01 августа 2011

Я бы посоветовал не использовать альтернативную историю --force. Любой, кто уже вытащил ваши изменения, будет иметь полностью запутанную историю, с которой придется столкнуться при извлечении нового материала.

Более безопасный вариант - просто набрать

git revert HEAD~1 
git push origin master

git revert запишет новый коммит, который отменяет все эффекты предыдущего

10 голосов
/ 01 августа 2011

Если никто еще не клонировал ваше обновленное удаленное репо, вы можете:

git reset --hard HEAD~
git push --force

Это заставит локальную и удаленную историю отменить последний коммит.
(Сначала проверьте с помощью git fetch, чтос момента вашего неверного коммита не было выдвинуто ни одного нового коммита)

Если новая история недоступна, то git revert более безопасен и будетВ результате новый коммит отменяет предыдущий: вы можете нажать этот новый коммит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...