Хотелось бы иметь следующую картину:
Во время программирования я вношу безпорядочные изменения в своб локальную историю. Возможно, плохо их комментрую. Не все они логичны, но мне нужно их как то разделять:
commit -m 'something'
commit -m 'bullshit'
...
Когда приходит время протолкнуть изменения в главный репозиторий. Все предыдущие коммиты мне не нужны. (допустим их два десятка) Нужно их "отменить" и создать два-три коммита, каждый из которых вносит какое либо существенное изменение. Всё строго и по порядку.
Я пользуюсь mercurial. Для неё мне бы и хотелось увидеть механизм реализации поведения описываемого выше.