Desea el comando hg rollback
, pero consulte a continuación si está utilizando Mercurial 2.2 o posterior.
El comando rollback eliminará la última transacción de su repositorio. Un compromiso es una transacción, por lo que puede utilizar esto como
% hg commit -m 'My elaburate bugfix.' foo.c foo.h
% hg rollback
% hg commit -m 'My elaborate bugfix.' foo.c foo.h
Después de la reversión de los archivos volverán a verse modificado, y esto significa que la segunda se comprometen almacenará los mismos cambios que la primera, pero con una mejor mensaje de compromiso.
Cuidado:hg rollback
es más poderoso que una simple función de "uncommit" y usted puede utilizarlo para tirar a la basura el trabajo si no se tiene cuidado. Para tirar una confirmación hacer
$ hg commit -m 'My big and very difficult bugfix'
$ hg pull --update
$ hg rollback
Usted ha perdido ahora la última confirmación que ha hecho y ya informado la copia de trabajo a otra revisión, los cambios en los que cometen son ido. Por lo tanto, solo debe usar hg rollback
para deshacer una confirmación si está seguro de que hg commit
fue realmente el último comando que operaba en la copia de trabajo.
Además, si no ha entregado el mensaje de confirmación en la línea de comandos, no puede presionar la flecha hacia arriba dos veces para rehacer la confirmación después de una reversión. Sin embargo, Mercurial 1.5 y posterior guardará su último mensaje de confirmación en .hg/last-message.txt
para que siempre pueda encontrarlo nuevamente después de una reversión.
Mercurial 2.2 tiene una nueva --amend
bandera para hg commit
. Esto permite modificar el último compromiso con nuevos cambios. Simplemente incorpora los cambios enumerados en hg status
en la confirmación principal, como si hubiera retrocedido y cometido de nuevo.
Cerrar, pero no del todo. 'bzr revert' dejará todos los archivos en su lugar, listos para volver a comprometerse. –
¿te refieres a "bzr uncommit"? –
err, sí, así es ... Gracias. –