Это в основном тот же вопрос, что и Временно переключить рабочую копию на определенный коммит Git , , но для Mercurial .
Скажем, редакция 500 - это последняя редакция, которую я сделал в Mercurial. Я работал еще немного и понял, что что-то пошло не так в предыдущей редакции. Итак, я "git stashed", то есть hg shelve
d мои текущие изменения, поэтому я нахожусь на чистой ревизии 500.
Теперь я хочу проверить версию 499, пересобрать программное обеспечение, посмотреть, есть ли в нем ошибка; если это так, проверьте редакцию 498, перестройте программное обеспечение, посмотрите, есть ли в нем ошибка; если это произойдет, пересмотрите версию 497, пересоберите программное обеспечение, посмотрите, есть ли в нем ошибка; и т. д. и т. д., пока я не выясню, какая ревизия внесла ошибку.
Как только я закончу с этим, я хочу вернуться к ревизии 500, unshelve
моей предыдущей работе, добавить к ней исправление, а затем сделать новый коммит (который будет ревизией 501). Это означает, что когда я возвращаюсь в историю, я не хочу ничего сбрасывать или ставить что-либо оттуда.
В git я могу просто сделать git checkout HASH
, чтобы вернуться в историю, и однажды, git checkout master
, чтобы вернуться к подсказке. Какие команды мне следует использовать в Mercurial?