El package confirma / mantiene las confirmaciones en privado al presionar

Quiero mantener algunos commits privados en push, así que quiero que se agrupen en un gran commit en el lado remoto. Localmente deben permanecer divididos.

Un caso de uso es, por ejemplo, el trabajo en un blog estático. Los pasos del borrador se deben comprometer y hacer un seguimiento local, pero en el momento del envío solo deseo publicar las versiones publicadas.

Se aceptará una solución en git y / o mercurial.

La idea sería hacer las confirmaciones en una sucursal dedicada, pero git merge --squash en master (o cualquier otra twig pública que pretenda impulsar), ya que producirá una gran confirmación.
Luego, presionarás master en el repository remoto.

Consulte " In git, ¿cuál es la diferencia entre merge --squash y rebase ? "

En Mercurial 2.1 y posterior puede usar fases para marcar los sets de cambios como "secreto". Esto marcará todos los sets de cambios salientes como secretos:

 $ hg phase -f --secret "outgoing()" 

Un set de cambios secreto no se empuja o tira de manera pnetworkingeterminada, por lo que después de ese command no habrá ningún set de cambios saliente; ajústelo según sea necesario para marcar los sets de cambios correctos como secretos.

También dice que quiere los sets de cambios como una gran confirmación en el repository remoto. Para eso puede usar la extensión histedit incluida con Mercurial 2.3 y posterior. Use la bandera --keep para que no elimine los sets de cambios originales cuando los contrae.