svn - control - mercurial vs git
¿Cómo "cambio" con Mercurial? (5)
El comando de cambio hace dos cosas en Subversion:
Actualice la copia de trabajo para reflejar una nueva URL dentro del repositorio. Este comportamiento es similar a ''
svn update
'', y es la forma de mover una copia de trabajo a una rama o etiqueta dentro del mismo repositorio.Vuelva a escribir los metadatos de la URL de copia de trabajo para reflejar solo un cambio sintáctico. Esto se usa cuando los cambios de URL raíz del repositorio (como un esquema o cambio de nombre de host) pero su copia de trabajo aún refleja el mismo directorio dentro del mismo repositorio.
El comando hg update foo
coincide con el anterior más estrechamente si cambia de, por ejemplo, /trunk
a /branches/foo
en Subversion.
Si desea hacer esto último, simplemente edite .hg/hgrc
. Encontrarás una sección de [paths]
que se ve así:
[paths] default = http://example.net/something
y puede cambiar esta URL push / pull predeterminada a otra cosa como mejor le parezca. También puede agregar otras entradas a esta sección si a menudo necesita presionar / jalar desde otras ubicaciones. Si desea extraer de una ubicación, pero presione otra, agregue una entrada de default-push
.
¿Cómo hago lo que hace el svn switch
, en Mercurial?
¿Eso es cambiar mi directorio de trabajo para cambiar a otra rama en el repositorio?
Para cambiar a una rama remota ''tip'':
hg pull -u <remote_branch>
Para la sucursal local (ya actualizada) solo:
hg update -r <local_branch>
Respuesta alternativa, en el caso de "rama" quiere decir "otro clon del repositorio que vive en una ubicación arbitraria en la red": no puede.
En otras palabras, dado un repositorio en hg.a.com, y un clon de ese repo hg.b.com, no hay ningún comando como
hg switch hg.b.com .
(usando svn parlance allí, suponiendo que su directorio actual es la raíz de un clon de hg.a.com).
Sin embargo, puede clonar hg.a.com, clonar localmente ese clon (que debería ser relativamente económico) y luego extraerlo de hg.b.com para recoger cualquier cambio adicional que pueda existir allí.
Si quieres cambiar de rama, haz lo siguiente:
Primero compruebe qué ramas están disponibles, escriba hg branches
. Esto mostrará una lista de todas las ramas disponibles.
Luego determine en qué rama está trabajando actualmente, escriba hg branch
. Esto te dirá cuál es tu rama actual.
Finalmente, para cambiar una rama ( y borrar todos los cambios locales ), escriba hg update -C name-of-branch
. Esto lo cambiará al nombre de la sucursal que especificó.
Verifique escribiendo hg branch
nuevamente.
hg update -r<REV>
El comando de update cambiará a una revisión especificada.