С "пуристической" точки зрения Mercurial Майк прав - толкаемые наборы изменений находятся вне вашего контроля. Но , на практике это часто слишком строгая перспектива.
Вопреки тому, что сказал Майк, удаление уже отправленных наборов изменений может быть вариантом. Это зависит от того, есть ли у вас контроль над центральным хранилищем (для его удаления), а также от размера вашей команды / сообщества и от того, как он организован.
Если вы точно знаете, что никто не потянул ваши плохие наборы изменений, просто удалите ваше локальное и центральное репо - готово, история удалена.
Если есть вероятность, что кто-то уже вытянул ваши плохие наборы изменений, вы бы также удалили локальное и центральное репо и , вам нужно было бы уведомить всех членов толкающей команды, чтобы удалить плохие наборы изменений в их локальные репо тоже (или откинуться из раздетого центрального репо). Если вам повезет, все делают то, что вы говорите. В противном случае наборы изменений снова окажутся в центральном репо, рано или поздно.
Суть в том, что вскрытие может быть решением для таких случаев, как ваш - вы должны сбалансировать стоимость (обременять свою команду дополнительной работой) и выгоду (чистая история).
Практический пример, когда выгода превышает стоимость, будет, если вы случайно добавите большие двоичные файлы. В этом случае, вероятно, каждый член команды предпочитает раздевать синхронно, а не работать со взорванным хранилищем.
ОБНОВЛЕНИЕ: Вы можете использовать серверные перехватчики, чтобы предотвратить возвращение удаленных наборов изменений в центральный репозиторий - подробнее здесь .