Cómo ramificarse con TortoiseHG

218

Descargué TortoiseHg 1.0 para su evaluación. Por mi vida, no puedo entender cómo hacer una rama. Parece entender las ramas (por ejemplo, en su navegador de repositorio), pero parece que no puedo encontrar la manera de hacer una rama. Esto parece una capacidad tan fundamental, ya que de los beneficios a menudo promocionados de DVC se encuentra la ramificación ligera.

Busqué en Google y no pude encontrar mucha discusión sobre este tema (al menos para versiones recientes), así que debo asumir que me falta algo, ¿verdad?

Actualización: Entonces marqué la respuesta de Chad Birch a continuación para responder al problema de la "nueva rama". Como él señala correctamente, realiza una confirmación y luego hace clic en el botón de bifurcación para que aparezca el cuadro de diálogo de mantenimiento de bifurcación, que es donde crea nuevas bifurcaciones. Ojalá nos hubieran dado una opción de menú contextual para esto. Una vez que se ha ramificado, la siguiente pregunta natural es cómo fusionarse y esto tampoco es obvio. Resulta que esa opción está enterrada en el explorador del repositorio. Debe seleccionar el encabezado de otra rama, hacer clic con el botón derecho y luego seleccionar "Combinar con ...".

Michael Tiller
fuente
La ramificación está seriamente enterrada en un aspecto completamente intuitivo del flujo de trabajo. La ramificación y la confirmación son dos operaciones muy distintas y no tiene sentido enterrar las ramificaciones en lo profundo de la interfaz de usuario de confirmación. Como normalmente me comprometo antes de bifurcar, no se me ocurrió mirar debajo de la interfaz de usuario de confirmación. La ramificación sigue siendo efectivamente indocumentada incluso a mediados de 2016 ; Chad Birch señala qué pasa para la documentación de ramificación; todavía es horrible, pero como él señala, él es solo el mensajero ...
arclight

Respuestas:

213

Como se muestra en los documentos , todo lo que debe hacer es hacer clic en el branch: defaultbotón cerca de la parte superior del diálogo de confirmación y cambiar a un nuevo nombre de rama.

Abedul Chad
fuente
30
Ah, veo donde dice "presionar este botón abre un diálogo de mantenimiento de sucursal". De hecho, eso abre un cuadro de diálogo que, como resultado, permite la creación de ramas, pero no estoy de acuerdo con la declaración "Como se muestra en los documentos", ya que no hay una mención explícita de cómo crear una rama en ninguna parte de esa página que Lo podría encontrar. Me pregunto qué hizo la ramificación para merecer un tratamiento de segunda clase en TortoiseHg (frente a las otras herramientas Tortoise *, donde es una opción de menú contextual de primera clase). :-)
Michael Tiller
31
Oh, no estaba tratando de insultar de una manera "RTFM" o algo así, solo necesitaba algún tipo de frase para vincular a la página correspondiente. Quizás "como vagamente implicado en los documentos" hubiera sido más apropiado en esta situación.
Chad Birch
1
Sin sudar. Yo tampoco estaba tratando de ser insultante. Solo quería dejar en claro a cualquiera que viniera a ver ese enlace que realmente tienes que leer entre líneas en los documentos para obtener la respuesta, ya que no se menciona explícitamente.
Michael Tiller
8
Con las versiones recientes de Mercurial, debe realizar una hg push --new-branchinserción de una nueva sucursal en un repositorio remoto. Consulte stackoverflow.com/questions/2365483 para saber cómo hacer esto en TortoiseHg.
Peter Graham
26

Para iniciar una nueva rama con TortoiseHg, presione Confirmar ... luego, arriba del mensaje de confirmación, presione Rama, luego "Abrir nueva rama con nombre:"

nme
fuente
9

Solo quería agregar que para insertar una nueva rama en el repositorio remoto, hay una casilla de verificación en la pestaña Sincronizar en Opciones de "Permitir la inserción de una nueva rama". Debe recordar volver a desactivarla inmediatamente después.

TamW
fuente
8

La mayoría de las veces en mercurial, usted es cloneel repositorio para hacer una rama.

Luego puede fusionar los repositorios separados una vez que haya realizado sus ediciones y confirmaciones.

Esto puede parecer que ocuparía mucho espacio en disco, pero en la mayoría de los sistemas operativos, mercurial creará enlaces duros en lugar de copiar los archivos. De todos modos, el espacio en disco es normalmente barato y, como es local, es bastante rápido.

Si lo piensa, cada "pago" (en terminología svn) o "clon" (en terminología mercurial) es realmente una rama que probablemente se fusionará, por lo que tiene mucho sentido que los clones sean la forma común de hacer ramas.

blokeley
fuente
11
No es conveniente para las ramas de características.
Torre
Convenido. Si tiene ramas de larga duración (semipermanentes), como una rama estable de la versión 1 y una rama estable de la versión 2, querrá usar ramas con nombre . Consulte también la documentación de la rama mercurial .
blokeley
11
-1. Esto es, en el mejor de los casos, un truco. La clonación para la ramificación no funciona en absoluto si está siguiendo un repositorio remoto, ya que no puede impulsar sus cambios locales. Esto significa que no puede compartir su sucursal con otros desarrolladores con los que está trabajando. La forma correcta de ramificarse es crear una sucursal con nombre dentro de su repositorio.
Peter Graham
8
La clonación sigue siendo la forma en que el libro oficial de mercurial recomienda ramas de 'panorama general' hgbook.red-bean.com/read/… No dispare al mensajero.
blokeley 01 de
0

Antes de comprometerse, haga clic en el botón Rama (ver imagen), luego seleccione una rama o cree una nueva (escribiendo dónde selecciona las ramas).

Mira la imagen aquí

Felipe Dias
fuente