Я работаю на живом сервере. Я обновился до чаевых, и это вызвало проблемы: мне нужно вернуться к определенному набору изменений (388), где все было в порядке.
У меня нет изменений какого-либо значения на сервере, локальный набор изменений не имеет значения вообще , На самом деле я действительно хочу убить любые локальные случайные изменения или слияния, чтобы не путать вещи.
Как мне вернуться к определенному набору изменений и уничтожить все локальные изменения? Это как-то связано с:
hg revert
---- ОБНОВЛЕНИЕ ---
Чтобы уточнить, что я хотел бы сделать, это сначала вернуть все локально в набор изменений 388, а затем убедиться, что мое локальное репо находится в таком состоянии. утверждаю, что когда я делаю
hg status
, я не получаю вывод. В противном случае у меня возникает неприятное ощущение, что когда я в следующий раз потяну за верхушку, возникнут конфликты, с которыми я хочу разобраться - которых я хочу избежать, потому что локальные изменения не имеют значения.
---- ОБНОВЛЕНИЕ ---
Для кого-то еще в этой ситуации то, что в конечном итоге исправило это для меня, было:
rm -rf <repo_dir>
hg clone http://repository
hg update -r 388
Это убьет все ваши локальные изменения, поэтому действуйте осторожно (но это то, что я хотел в этом случае).
server:
- ..
- rev 386
- rev 387
- rev 388
- rev 389
clone to production
-- testing stuff, it doesn't work!
-- panic!
-- rev 390 (in panic)
-- rev 391 (in panic)
-- cool down, thinking, need to go back to 388
-- one way: hg update -C -rev 388 (to keep 390, 391)
-- other way: rm -rf dir (to discard 390, 391)
-- hg clone http://server/hg
-- cd dir
-- hg update 388
-- testing, now works
Также есть замечательное расширение Purge . Очень солидный материал, он удаляет все неотслеживаемые файлы из рабочего каталога.
Просто используйте команду ниже, чтобы перейти к ревизии.
hg revert -r REV
Это противоречит параметру --all.
Чтобы уничтожить все локальные изменения, --all должна работать.
hg revert --all
Не использовать откат
. Это необратимая процедура, поэтому ее следует использовать с осторожностью.
РЕДАКТИРОВАТЬ
Вы можете обновить с помощью опции --clean. Это приведет к отмене любых незафиксированных изменений. А затем обновите какой-нибудь набор изменений.
Я не думаю, что вам действительно ясно, что вы хотите, но моя интерпретация будет hg update -C -rev 388
, но вы также можете вернуться после возврата или, возможно (маловероятно), даже после отката. мой ответ на этот вопрос дает хорошее различие между обновлением и откатом.
вам действительно нужно решить, что вы хотите видеть в рабочей копии, и какое вы хотите, чтобы состояние истории было таким, чтобы выбрать между ними