Estoy viendo el comando 'extraer' y me pregunto cómo es eso diferente de un 'clon'. Ambos términos parecen implicar la recuperación de código desde algún repositorio remoto. ¿Hay alguna distinción sutil aquí?¿Es 'pull' un sinónimo de 'clon' en un repositorio Mercurial de control de fuente?
Respuesta
hg clone
es la forma de hacer una copia local de un repositorio remoto. El equivalente de Subversion es svn checkout
.
hg pull
extrae los cambios de otro repositorio. hg update
aplica esos cambios al repositorio local. hg pull -u
es equivalente a hg pull; hg update
. Subversion equivalente a hg pull -u
es svn update
.
Use clone cuando necesite crear un nuevo repositorio basado en otro. Use tire más tarde para transferir nuevos conjuntos de cambios al clon. No se puede usar el clon para obtener solo los conjuntos de cambios más nuevos; para eso está el tirón. El comando de extracción comparará los dos repositorios, encontrará los conjuntos de cambios faltantes en su repositorio y finalmente los transferirá.
Sin embargo, tiene razón en que hay similitudes entre clonar y extraer: ambos transfieren el historial entre repositorios. Si se clona primero
hg clone https://www.mercurial-scm.org/repo/hg/
entonces esto tiene el mismo efecto que hacer
hg init hg
cd hg
hg pull https://www.mercurial-scm.org/repo/hg/
hg update
se obtiene la misma historia exacta en ambos casos. El comando clon es más conveniente, sin embargo, ya que también edita el archivo .hg/hgrc
para que usted pueda configurar la ruta predeterminada:
[paths]
default = https://www.mercurial-scm.org/repo/hg/
Esto es lo que le permite hacer hg pull
en el repositorio sin especificar una dirección URL. Otra ventaja de usar clon es cuando trabajas con repositorios en el mismo disco: hg clone a b
será muy rápido y barato en términos de espacio en disco ya que b
compartirá el historial con a
. Esto se hace usando enlaces duros y funciona en todas las plataformas (Windows, Linux, Mac).
clon crea un nuevo repositorio como copia de un repositorio existente.
pull importa todos los conjuntos de cambios (no presentes) de otro repositorio en un repositorio existente.
- 1. ¿Es seguro "ramificar" un clon de un repositorio mercurial local simplemente copiando todo el directorio?
- 2. ¿Puedo optimizar un clon Mercurial?
- 3. Cómo revertir un mercurial hg pull?
- 4. Mercurial: forma recomendada de enviar un repositorio completo a alguien
- 5. ¿Espejo un repositorio de Mercurial en Subversion?
- 6. TFS con control fuente Mercurial
- 7. Propagar una ubicación remota a través de clon/push/pull
- 8. ¿Explicar el clon Mercurial lento?
- 9. Repo mercurial dentro de un repositorio
- 10. ¿Cómo anonimizo un repositorio mercurial?
- 11. ¿Se clona la única forma de obtener contenido de un repositorio de Mercurial?
- 12. ¿Puedo dividir un repositorio de Mercurial?
- 13. ¿Es posible configurar un repositorio Mercurial privado en Google Code?
- 14. ¿Es posible hacer un clon parcial/rama con bazar, mercurial o git?
- 15. Múltiples proyectos de Eclipse en un repositorio de Mercurial
- 16. Clon parcial con Git y Mercurial
- 17. ¿Cómo puedo eliminar la copia de trabajo de un clon de Mercurial?
- 18. ¿Cómo engancho un git pull en el control remoto?
- 19. Obtenga un solo archivo de un repositorio mercurial remoto
- 20. ¿Cómo muevo un repositorio Mercurial privado a un servidor central?
- 21. Cómo crear un repositorio de Mercurial en un servidor web IIS remoto
- 22. ¿Cómo puedo clonar una subcarpeta de un repositorio en Mercurial?
- 23. Extracción de un subdirectorio del repositorio A en un repositorio diferente B utilizando mercurial
- 24. Declarar un sinónimo de tipo en C#
- 25. ¿Cómo agrego un subrepo a un repositorio existente en mercurial
- 26. Mercurial: fusionando un archivo entre ramas en un repositorio
- 27. Agregando cambios de un repositorio de Mercurial a otro
- 28. Mover el repositorio de Mercurial
- 29. Cuál es la sintaxis de Mercurial hg clone para clonar un repositorio en una carpeta en un sistema de archivos local
- 30. ¿Cómo averiguar el tamaño de un repositorio de mercurial?
Dado que parece que acaba de comenzar con Mercurial, probablemente debería leer esta pregunta sobre el desbordamiento de pila: http://stackoverflow.com/questions/1170338/mercurial-for-beginners-the-definitive-practical-guide Usted también debe leer y/o trabajar en los primeros capítulos de "Mercurial: The Definitive Guide": http://hgbook.red-bean.com/read/ Finalmente, es posible que desee crear un proyecto de juguete en http: // bitbucket.org/ para obtener algo de práctica trabajando con Mercurial. – las3rjock
Grandes enlaces. Muy útil. Gracias. – tent
http://hginit.com/ también proporciona un excelente tutorial. Tengo todos mis nuevos empleados y pasantes trabajando en ello cuando se unen a mi equipo. – JSmitty