nike - Cómo no comprometerme en mercurial para mi último compromiso(aún no enviado)
mercurial svn (3)
En mercurial, puede utilizar el comando de retroceso, que crea un conjunto de cambios que es el opuesto al conjunto de cambios que desea retirar. Entonces este conjunto de cambios se confirma. Lo único que necesitas hacer después de eso es una fusión.
Puede anular cualquier conjunto de cambios, pero no se recomienda anular un conjunto de cambios de combinación.
Una explicación detallada del comando con un ejemplo se puede encontrar here .
Esta pregunta ya tiene una respuesta aquí:
Tengo una situación como esta:
He comprometido los archivos a, b, c, d. Ahora he encontrado que, por error, he comprometido los archivos a y b; así que antes de presionar estos cambios, quiero hacer los archivos no confirmados a y b para poder empujar solo c y d. ¿Puede alguien decirme cómo hacerlo usando comandos mercuriales?
Aquí, sin confirmar, significa que quiero usar "hg out -p" y, después de eso, ver el conjunto de cambios y hacer las cosas manualmente.
Suponiendo que no haya realizado ninguna otra transacción en su repositorio desde que confirmó los archivos, creo que podría hacer esto como un proceso de 2 etapas:
hg rollback
hg commit filec filed
hg rollback
debería eliminar la confirmación que acaba de realizar, pero dejar los archivos como se han modificado. Entonces, hg commit filec filed
debería cometer los archivos llamados filec
y filed
. Obviamente, debe reemplazar estos nombres de archivo con los nombres de sus archivos reales.
Probablemente vale la pena mencionar que debe tener cuidado con la hg rollback
, ya que altera el historial, por lo que es posible perder datos si se usa incorrectamente.
hg rollback
, y puede encontrar más en el Capítulo 9. Encontrar y corregir errores de Mercurial: la guía definitiva