Mercurial: как отменить изменения?
при использовании Mercurial, как отменить все изменения в рабочем каталоге с момента последней фиксации? Кажется, что это было бы просто, но это ускользает от меня.
например, допустим, у меня есть 4 коммита. Затем я внесу некоторые изменения в свой код. Затем я решаю, что мои изменения плохи, и я просто хочу вернуться к состоянию кода при моей последней фиксации. Итак, я думаю, что я должен сделать:
hg update 4
С 4 является ревизией # моей последней фиксации. Но, Ртутный не изменяет ни один из файлов в моем рабочем каталоге. Почему бы и нет?
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.