Какие команды вы используете для обновления среды разработки с помощью Mercurial? - PullRequest
1 голос
/ 14 июля 2011

Полагаю, я учусь немного в обратном направлении. Я очень доволен git и никогда не использовал mercurial до моего последнего проекта.

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

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

С мерзавцем я бы побежал ...

git reset --hard; git checkout master -f; git pull; git checkout origin/master -f

Что такое ртутный эквивалент? Я пытался ...

hg revert --all; hg pull; hg update;

Что, кажется, работает так, как я ожидал бы иногда. Когда он не работает, он прерывается из-за неотслеживаемых ошибок файла. Я ищу то, что работает все время.

1 Ответ

6 голосов
/ 14 июля 2011
hg up --clean

Это все, что нужно сделать. (hg up, а не hg update, потому что hg круче git и допускает уникальные сокращения. Мне не нравится, когда я вынужден использовать git, он не принимает git ci, как нормальная система контроля версий. Я знаю, что мог бы сделать псевдоним ... но я никогда не получал его частично, потому что вообще не очень часто его использую)

hg help [command] (или hg [command] --help) полезно. В справке для revert упоминается, что вы, вероятно, хотите использовать вместо нее hg update -r rev или hg update --clean ..

Это изменит только отслеживаемые файлы. Неотслеживаемые файлы будут оставлены в покое, что, я думаю, то, что вы хотите.

...