Quardas, «полное удаление» не является частью словаря по умолчанию Mercurial. Это система, построенная на неизменной истории. Вы можете изменить то, о чем сожалеете, но не удалите это. Подумайте о том, как ученый из его / ее лаборатории пишет ручкой на пронумерованных страницах в журнале - вырывание страницы считается мошенничеством. Есть смысл в том, чтобы сохранить ваших слепых союзников и ошибки, хотя бы потому, что вы помните, что больше не пытались это делать.
Подумайте об использовании hg backout
, который легко и автоматически добавляет инверсию набора изменений, тем самым полностью его отменяя, но сохраняя запись как набора изменений, так и его отмены.
Если вы действительно не можете купить эту концепцию, попробуйте заглянуть в clone -r
. Это позволяет вам клонировать ваш репозиторий до определенной точки. Например:
hg clone -r -6 myrepo partial-myrepo
mv myrepo myrepo-with-stuff-I-regret
mv partial-myrepo myrepo
, который заменит ваше репо новой копией, в которой пропущены последние пять наборов изменений.
Существует множество других способов сделать то же самое, используя инструменты, которые не являются частью набора инструментов по умолчанию Mercurial (такие расширения, как histedit, strip, mercurial queues и т. Д.), Но лучше не удалять историю вообще и делать это без расширений, если вы делаете.