¿Cómo puedo deshacer mi último cambio cometido accidentalmente (no presionado) en Mercurial?
Si es posible, se preferiría una forma de hacerlo con TortoiseHg.
Actualizar
En mi caso concreto, cometí un conjunto de cambios (no presionado). Luego saqué y actualicé desde el servidor. Con estas nuevas actualizaciones decidí que mi último commit está obsoleto y no quiero sincronizarlo. Entonces, parece que eso hg rollback
no es exactamente lo que estoy buscando, porque revertiría el pull en lugar de mi commit.
strip --keep
: stackoverflow.com/questions/29413851/… resuelve directamente la tarea, al igual que MQ qimport. Alternativamente, puede ser mejor simplemente rebase
en el escenario si los cambios locales también se mantienen y no hay conflicto. (Use una combinación para mantener algunos cambios combinados de ambas ramas cuando ese es el objetivo final del gráfico deseado, especialmente en un caso no rápido). También puede ser válido solo para cerrar la rama, que todavía 'conserva el historial' (pero diferente a una fusión) dependiendo del estado final deseado.
hg strip --keep
es el comando de hacer uso, pero es necesario proporcionar una revisión, por ejemplo: hg strip --keep -r .
. Esta respuesta explica bien stackoverflow.com/a/19064016/1286571
hg rollback
y luego tirar de nuevo?