Как объединить два и более коммитов в один?
mercurial.selenic.com/wiki/MqExtension

Можете коммитить как обычно, затем преобразовать всё в патчи, объединить/разрезать как нравится, преобразовать обратно в коммиты и запушить.
Не знаю правильно ли я понял, на примере гита у него есть такая штука git commit -p, которая позволяет пройтись по всем изменениям за раз и какие-то принять, какие-то нет. Прямого аналога в mercurial нет, но есть похожее mercurial.selenic.com/wiki/RecordExtension