¿Cómo "revierte" el último compromiso en Mercurial?
commit rollback (3)
Tengo un repositorio de Mercurial que uso en local solamente ... Es para mi uso personal (por lo que no "presiono" en ninguna parte).
Hice una confirmación con 3 archivos, pero después de eso entendí que debería cometer 4 archivos ...
¿Hay alguna forma de "retrotraer" mi última (última, solo una) confirmación y "volver a comprometerla" con los archivos correctos?
(No sé por qué, pero mi opción " Modificar revisión actual " no está activa, así que no puedo usarla ...)
En hg moderno:
hg uncommit
o, para su problema exacto:
hg add file4
hg amend
La respuesta es strip (si no lo tiene activado, puede verificar cómo habilitarlo aquí: https://.com/a/18832892/179581 ).
Si quieres revertir solo el último uso de commit:
hg strip --keep -r .
Si desea volver a una confirmación específica:
hg strip --keep -r 1234
Usar strip revertirá el estado de tus archivos a la confirmación especificada, pero los tendrás como cambios pendientes, para que puedas aplicarlos junto con tu archivo a una nueva confirmación.
Recupere sus datos eliminados:
Si omite usar el comando o desea recuperar los cambios, puede encontrar los archivos eliminados en la carpeta .hg / strip-backup .
Crédito a ForeverWintr
Solo necesitas este comando:
hg rollback
Ver: http://hgbook.red-bean.com/read/finding-and-fixing-mistakes.html .
(Técnicamente, esto está obsoleto a partir de la versión 2.7, agosto de 2013, pero aún no he visto una alternativa que haga exactamente lo mismo).