zapatillas significado nike meaning descargar version-control mercurial

version control - significado - Cómo deshacer "abortar: empujar crea nuevas cabezas remotas en la rama" en mercurial



mercurial vs git (3)

Soy consciente de Mercurial para principiantes: ¿La guía práctica definitiva y respuestas como las ramas de fusión de Mercurial? (abortar: push crea nuevas ramas remotas)

Aquí, involuntariamente, he creado una situación en la que Mercurial desea crear un nuevo cabezal remoto. ¿Cuál es la mejor manera de deshacer esto y dejar poco o ningún rastro de este error en el lado remoto?

###> hg push pushing to http://example.com searching for changes abort: push creates new remote heads on branch ''default''! (did you forget to merge? use push -f to force) ###> hg revert --all -r tip ###> hg update -C 0 files updated, 0 files merged, 0 files removed, 0 files unresolved ###> hg incoming comparing with http://example.com searching for changes no changes found ###> hg summary parent: 488:e3db024fe901 tip Misc. branch: default commit: (clean) update: 6 new changesets, 2 branch heads (merge) ###> hg pull pulling from http://example.com searching for changes no changes found ###> hg glog @ changeset: 488:e3db024fe901 | tag: tip | summary: Misc. | o changeset: 487:b207579b9d41 | parent: 480:ce775708800c | summary: Misc. | | o changeset: 486:59a7a5b34c7f | | user: other | | summary: fixes | | | o changeset: 485:b28264333e18 | | user: other | | summary: binary

Si me fusiono, me parece bien:

hg merge abort: outstanding uncommitted merges

Pero hg diff muestra todo tipo de cambios que no hice. Estoy dispuesto a volver a aplicar mis cambios ... ¿cómo puedo devolver todo esto a un solo consejo, abandonando todos los cambios locales?


No me fusioné, pero de repente estoy viendo el mensaje que ha publicado la operación. Cuando hago un hg pull , en la línea de comandos se muestra abort! Repositorio predeterminado no encontrado .


Para deshacerse de los cambios (ex 487 y 488): si cree que (como yo) que se está volviendo a clonar el repositorio, como se recomienda anteriormente e incluso oficialmente recomendado aquí es ridículo, debería obtener MqExtension

Una vez que Mq está habilitado, puede eliminar fácilmente los cambios que no desee:

hg strip 487 hg strip 488


Parece que cuando has hecho una hg merge , no has confirmado el conjunto de cambios resultante.

Cuando se fusiona en otra rama (en su caso, es posible que deba especificar hg merge 486 para fusionar en los cambios de otros usuarios), se fusiona esa rama en su directorio de trabajo. A continuación, debe verificar que todos los conflictos se resuelvan (si existen) utilizando una herramienta de combinación, o editando manualmente los archivos (y luego ejecutando hg resolve cualquier conflicto). Una vez hecho esto, debe hg commit su nuevo conjunto de cambios fusionado.

Esto explicaría por qué hg diff le da muchos cambios que no hizo, son cambios realizados en la otra rama, que aún no ha realizado. Si ejecuta hg summary o hg parents en su directorio de trabajo, debería ver dos padres en la lista: 486 y 488 . Debería hg commit este directorio de trabajo, creando un nuevo 489 fusionado.

Si desea deshacer la combinación actual y comenzar de nuevo, tiene razón al intentar ejecutar hg update -C , lo que restablecerá su directorio de trabajo a su estado original (sin combinar).

Si desea deshacerse de sus cambios ( 487 y 488 - 488 que no le importa volver a aplicarlos), la opción más sencilla sin tener que recurrir a extensiones es simplemente volver a clonar el repositorio y continuar su trabajo desde allí.