Commits en rama incorrecta
Si el lector lleva tiempo utilizando repositorios, seguro que alguna vez ha hecho commit en una rama incorrecta.
Si este error sucede antes de hacer push, se puede solventar con alguna técnica que reescriba la historia. Por ejemplo, rebasing o cherry-picking. Desafortunadamente, una vez hecho el push, reescribir la historia implica avisar a todos los usuarios del repositorio, para que reclonen. Esta opción no es factible en grupos grandes de programadores.
Una solución puede ser utilizar graft en la rama correcta junto con revert en la incorrecta.
1147 hg shelve -n "Cambios para poner en rama default" 1148 hg status 1149 hg update default 1150 history 1151 hg branch deploy_php_players 1152 hg branch 1153 hg graft -D 02de0b8::35613bc 1154 hg update secuencial_con_ordenacion 1155 hg revert -a -r 305fd2f 1156 hg commit -m "Backout commits desde 02de0b8 hasta 35613bc porque ésta no es su rama"
Éste es el estado antes:

Y éste depués:

Se han repetido los commits en la rama deploy_php_players y hemos hecho un revert (en el comentario he puesto backout pero es revert realmente) de los commits que no debían estar en secuencial_con_ordenacion. Puesto que revert elimina todos lo cambios, merge no causó conflictos.

Referencias: