2010-11-04 15 views
117

entiendo que es posible cerrar una rama llamada en Mercurial, por lo que no aparece en la lista hg branches:¿Es posible reabrir una sucursal cerrada en Mercurial?

hg commit --close-branch -m 'close badbranch, this approach never worked' 

¿Es posible volver a abrir más tarde la rama si es necesario?

+13

Simplemente debe intentarlo, la mejor forma de aprender es experimentar, y como los repositorios son baratos con Hg, simplemente enloquezca. –

+0

Pequeño y sucio secreto: una "rama" en Hg speak es solo otra forma de decir "una etiqueta de texto asociada a un commit". Una "rama" puede tener muchas cabezas diferentes para muchas asignaciones diferentes que no están relacionadas. – user2864740

Respuesta

144

Puede simplemente hg update en la rama cerrada y luego hacer otra hg commit y se volverá a abrir automáticamente.

La bandera closed sólo se utiliza para filtrar las ramas cerradas desde hg branches y hg heads a menos que utilice la opción --closed - no le impide el uso de las ramas.

+18

La confirmación no hará nada a menos que haya algo que realmente comprometer, por lo que puede necesitar hacer un cambio gratuito para que esto suceda. –

+1

Gracias por señalarlo. Supuse que los cambios implicaban una confirmación, pero, por supuesto, si simplemente quiere quitar la bandera cerrada, no puede hacerlo sin un cambio. –

+2

Una etiqueta es suficiente para que sea commitable. – devlord

14

Puede volver a abrir una bifurcación utilizando el indicador "-f" al "crear" la bifurcación.

No, este comando creará una nueva rama con el mismo nombre.

Simplemente olvide que está cerrado. Cambia a la rama, realiza los cambios y confirma. Será reabierto automáticamente. Cuando hayas terminado, puedes cerrarlo de nuevo.

+0

Pensé que, a diferencia de Git, las ramas nombradas de Mercurial son permanentes, y que los nombres de las ramas, por lo tanto, no pueden reutilizarse. ¿Qué estoy confundiendo? ¿Estamos hablando de varias cabezas para la misma rama? –

-1

Pruebe esto.

Cambie a la rama cerrada antes de ejecutar. (Hg hasta closed_branch)

hg st

toque un

añadir un

hg commit -m 'reapertura de la rama cerrada'

Esto volverá a abrir la rama cerrada.

+10

Esto agrega un archivo vacío inútil al repositorio, es incorrecto. –

1

tratan con lo siguiente:

hg pull && hg update branch_name 

Ahora hacer un pequeño cambio a uno de los archivos y luego confirmar que

hg commit -m "minor change" 

luego empujarlo

hg push -b . 

Ahora usted debe estar capaz de trabajar normalmente.

Cuestiones relacionadas