Pregunta

Acabo de comenzar a trabajar en un proyecto que utiliza Mercurial como sistema de control de versiones, y necesito algunos consejos básicos sobre cómo usarlo. Utilice esta pregunta para dar algunos consejos introductorios sobre esta tecnología.

Especialmente, estoy buscando consejos sobre los mejores programas para usar y las mejores técnicas para usar (ramas, verificación de entrada y salida, etc. ¡Necesito aprender las mejores prácticas!)

¿Fue útil?

Solución

Sé que ya tiene el sitio de Mercurial, pero el recurso más útil para mí fue libro de Mercurial . Es una excelente descripción general del programa y cómo usarlo.

Encontré que la mejor manera de aprender Mercurial era simplemente usarlo en un proyecto. Importé a Mercurial un proyecto que había exportado desde subversion e hice un desarrollo regular con él. Me aseguré de clonar el repositorio para diferentes conjuntos de cambios para poder acostumbrarme a la fusión y actualización. No he aprendido todos los usos avanzados, pero ahora estoy bastante firme y aún no he vuelto a Subversion.

Muchos proyectos tienen diferentes técnicas para comprometer el flujo de trabajo. Algunos tienen cambios promovidos por los desarrolladores, como los sistemas centralizados, y algunos sacarán los cambios de los contribuyentes (Linux, por ejemplo). Es difícil generalizar demasiado sin conocer el proceso de su proyecto.

Así es como hago mi desarrollo:

  • Árbol centralizado en un recurso compartido de archivos o http, llamado project-trunk o project que es la versión definitiva del proyecto
  • Un árbol limpio en mi sistema que clono desde el repositorio remoto y utilizo para retroceder al repositorio. Luego clono de este árbol para mis cambios. Yo llamo a este árbol project-local
  • Clonar el árbol project-local para cada uno de mis cambios: por ejemplo. project-addusers , project-141 , etc.
  • Después de terminar con los commits en un árbol, luego empujo los cambios al repositorio project-local
  • Finalmente, empuje los cambios en project-local a project-trunk

Tengo el árbol limpio project-local porque puedo empujar todos los conjuntos de cambios de regreso al tronco al mismo tiempo, lo cual es útil si hay un grupo de cambios relacionados que necesitan retroceder juntos.

En cuanto a las herramientas, depende de su plataforma. Solo uso la herramienta de línea de comandos de vainilla. Viniendo de TortoiseSVN, fue un pequeño cambio ir a la línea de comando. Pero estoy bien con eso ahora. Intenté usar TortoiseHg pero no funcionó bien en mi máquina virtual Windows 7 x64. Escuché que es mucho mejor en las plataformas de 32 bits compatibles.

Otros consejos

Aquí hay un tutorial útil sobre Mercurial escrito por Joel Spolsky .

Cubre el uso básico y los comandos, así como también cómo trabajar con Mercurial a un nivel más conceptual. Si ya está familiarizado con SVN, entonces vale la pena leer la primera parte: habla sobre las principales diferencias conceptuales entre SVN y Mercurial, porque tratar de usar Mercurial de la misma manera que usa SVN es pedir problemas.

Eche un vistazo al Mercurial book , o en este Tutorial de Mercurial .

Dependiendo de su experiencia con otras herramientas de control de fuente, también sugeriría un SCM específico, lo que sea para la guía Mercurial. Por ejemplo, eche un vistazo a esta guía para usuarios de Subversion .

Otro buen recurso para entender el conjunto "distribuido" la idea de control de fuente es: http://betterexplained.com/articles/ Introducción a la versión distribuida-control-ilustrado / ... ¡con diagramas útiles!

Si utiliza el último TortoiseHG e incluye el directorio de instalación en su entorno PATH, será capaz de usar tanto la buena GUI que proporcionan como la línea de comando 'hg'

No puedo recomendar usar las extensiones mq demasiado. Son un excelente entorno de 'repositorio de trabajo'.

Utilizo las colas para administrar los cambios locales en un repositorio de subversión. Hago mis cambios locales a corto plazo y uso mercurial para mantenerme sincronizado con Subversion y el resto del equipo.

Algunas de las publicaciones de blog de Steve Losh son buenas, a pesar de que ahora tienen un par de años. Se ocupan principalmente de cómo trabajar con la ramificación.

También vale la pena mirar su hgtip.com sitio.

Además del Libro Mercurial y el tutorial Hg Init, me gustaría mencionar la guía basada en ejemplos que he escrito:

Muestra cómo comenzar con Mercurial y también cubre algunos conceptos más avanzados, como ramas con nombre y hgsubversion. Lo he usado cuando enseño Mercurial a nuevos usuarios y parece que les gusta.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top