En Git puedo hacer esto:
1. Comience a trabajar en una nueva función:
$ git co -b newfeature-123 # (una rama de desarrollo de características locales)
hacer algunas confirmaciones (M, N, O)
maestro A --- B --- C
\
novedad-123 M --- N --- O
2. Extraiga nuevos cambios del maestro ascendente:
$ git pull
(maestro actualizado con ff-commits)
maestro A --- B --- C --- D --- E --- F
\
novedad-123 M --- N --- O
3. Rebase fuera de master para que mi nueva característica
se puede desarrollar contra los últimos cambios ascendentes:
(de newfeature-123)
$ git rebase master
maestro A --- B --- C --- D --- E --- F
\
novedad-123 M --- N --- O
Quiero saber cómo hacer lo mismo en Mercurial, y busqué en la web una respuesta, pero lo mejor que pude encontrar fue: git rebase: ¿puedo hacer eso?
Ese enlace proporciona 2 ejemplos:
1. Admito que esto: (reemplazando las revisiones del ejemplo con las de mi propio ejemplo)
hg arriba -CF hg branch -f newfeature-123 hg transplant -a -b newfeature-123
no es tan malo, excepto que deja atrás el MNO previo al rebase como una cabeza no fusionada y crea 3 nuevos commits M ', N', O 'que los representan ramificándose de la línea principal actualizada.
Básicamente, el problema es que termino con esto:
maestro A --- B --- C --- D --- E --- F
\ \
novedad-123 \ M '--- N' --- O '
\
novedad-123 M --- N --- O
esto no es bueno porque deja compromisos locales no deseados que deberían descartarse.
- La otra opción del mismo enlace es
hg qimport -r M: O hg qpop -a hg arriba F hg branch newfeature-123 hg qpush -a hg qdel -r qbase: qtip
y esto da como resultado el gráfico deseado:
maestro A --- B --- C --- D --- E --- F
\
novedad-123 M --- N --- O
pero estos comandos (¡los 6 de ellos!) parecen mucho más complicados que
$ git rebase master
Quiero saber si este es el único equivalente en Hg o si hay alguna otra forma disponible que sea simple como Git.


git reflogy no se han ido por completo hasta que recogen la basura. Si desea mantenerlos en una rama con nombre para que no tenga que usar el registro, solo hágalogit branch feature-123_originalantes de volver a redactar .