Mercurial: как отменить изменения?


при использовании Mercurial, как отменить все изменения в рабочем каталоге с момента последней фиксации? Кажется, что это было бы просто, но это ускользает от меня.

например, допустим, у меня есть 4 коммита. Затем я внесу некоторые изменения в свой код. Затем я решаю, что мои изменения плохи, и я просто хочу вернуться к состоянию кода при моей последней фиксации. Итак, я думаю, что я должен сделать:

hg update 4

С 4 является ревизией # моей последней фиксации. Но, Ртутный не изменяет ни один из файлов в моем рабочем каталоге. Почему бы и нет?

4 55

4 ответа:

hg revert будет делать трюк.

он вернет вас к последней фиксации.

--all вернет все файлы.

см. ссылку для описания Man-страницы.

hg update обычно используется для обновления рабочего каталога после извлечения из различных ветвей РЕПО или подкачки. hg up myawesomebranch. Он также может быть использован для возврата к определенной версии. hg up -r 12.

альтернатива hg revert и hg update -C. Вы можете отменить свои локальные изменения и обновить до некоторой ревизии с помощью этой единственной команды.

Я обычно предпочитаю ввода hg up -C потому что это короче, чем hg revert --all --no-backup :)

hg revert - ваш друг:

hg revert --all 

hg update объединяет изменения в текущей рабочей копии с целевой редакцией. Слияние последней версии с измененными файлами (=текущая рабочая копия) приводит к тем же изменениям, которые у вас уже есть, т. е. он ничего не делает : -)

Если вы хотите прочитать на Mercurial, я бы рекомендовал очень удивительный учебник Hg Init.

hg revert --all 

а то

hg pull -u 

для меня