mercurial repository commit rollback

Deshacer múltiples confirmaciones(antes de empujar al público) en Mercurial



repository commit (3)

Puede usar el comando hg strip , parte de la extensión mq :

hg strip REV

Esto eliminará esa revisión + todos sus descendientes.

Antes de intentar esto, haga una copia / clonación del repositorio para experimentar.

Soy consciente de que las reversiones pueden eliminar las confirmaciones del último conjunto de cambios en un repositorio local. Sin embargo, ¿es posible eliminar todas las últimas confirmaciones desde la inserción anterior sin tener que volver a clonar el repositorio de recursos compartidos?


Si está utilizando el eclipse mercurial, puede retroceder una vez, luego guardar esos cambios, luego exportar las múltiples confirmaciones secuenciales como parches, quitar esas confirmaciones, luego importar esos parches en el mismo orden, por lo que en caso de que haya parches conflictivos, se sobrescriben cada uno. Otro de la forma deseada.

Finalmente puedes deshacer tu primer rollback. Esto logra el mismo efecto como si estuvieras retrocediendo más de una vez.


Podrías hacer un nuevo repo con hg clone :

hg clone -r last_good_changeset localrepo newlocalrepo