Como antiguo usuario de Subversion, decidimos pasar a Mercurial para SCM y nos confunde un poco. Aunque Mercurial es una herramienta SCM distribuida, estamos utilizando un repositorio remoto para mantener los cambios que hacemos respaldados en un servidor, pero estamos encontrando algunos problemas iniciales.¿Procedimiento correcto (mejores prácticas?) Para mantenerse sincronizado con un repositorio remoto de Mercurial.
Por ejemplo, cuando dos o tres de nosotros trabajamos en nuestros repositorios locales, nos comprometemos y luego presionamos al repositorio remoto, encontramos que se crean muchas cabezas (?). Esto nos confundió muchísimo y tuvimos que fusionarnos, etc. para solucionarlo.
¿Cuál es la mejor manera de evitar tantas cabezas y mantener un repositorio remoto sincronizado con un número de desarrolladores?
Hoy, he estado trabajando de esta manera:
- cambiar un archivo.
- Tire desde el repositorio remoto.
- Actualizar copia de trabajo local.
- ¿Merge? (¿por qué?)
- Confirme mis cambios en el repositorio local.
- Empuje hacia el repositorio remoto.
¿Es este el mejor procedimiento?
Aunque esto ha funcionado bien hoy, ¡no puedo evitar sentir que lo estoy haciendo mal! Para ser sincero, no entiendo por qué la fusión incluso debe hacerse en la etapa de extracción porque otras personas trabajan en archivos diferentes.
Aparte de decirme que RTFM tiene algún consejo para usar Mercurial es de esa manera? ¿Algún buen recurso en línea para obtener información sobre por qué tenemos tantas cabezas?
NOTA: He leído el manual pero realmente no da muchos detalles y no creo que quiera comenzar otro libro por el momento.
El tutorial de Joel Spolsky en http://hginit.com es un gran lugar para aprender cómo funciona mercurial, y hasta donde recuerdo incluye una buena explicación sobre las múltiples cabezas y la fusión indolora http://hginit.com/ 04.html –
Debe realizar una confirmación entre los pasos 1 y 2. la confirmación en el paso 5 solo debería ser necesaria si necesita fusionar archivos –