2010-05-25 27 views
6

He leído mucho sobre Mercurial y ramificaciones, sin embargo, sigo siendo un novato en el control de versiones.Rama pequeña y temporal en Mercurial

Actualmente estoy trabajando en un proyecto, donde me han encargado trabajar en un nuevo módulo.

Tengo un repositorio "principal", que contiene el último código del resto del proyecto, y un repositorio clonado (llámalo "tarea") donde estoy haciendo mi trabajo ahora.

Soy un grupo de compromisos en mi tarea, y encuentro que me gustaría hacer un pequeño "experimento" con la forma en que mi programa lee/almacena/maneja los datos de configuración.

Ahora, si entiendo las mejores prácticas de VC correctamente, este sería un buen momento para la sucursal.

Si empiezo este experimento y me gusta a dónde va, querré fusionarlo de nuevo en mi repositorio de "tareas" en la rama "predeterminada" bastante rápidamente.

Por otro lado, si no me gusta cómo va, probablemente solo descarte la rama.

La forma más cómoda de ramificarme es a través de la clonación, sin embargo, no creo que este sea el mejor enfoque en esta situación, ya que solo cambiaré algunos archivos, pero aparentemente usar ramas con nombre es permanente, que tampoco parece apropiado aquí.

¿Cuál es su consejo/mejor práctica para este tipo de situación?

Respuesta

5

Soy relativamente nuevo en Mercurial, pero sé exactamente la situación que estás describiendo. Hice algunas investigaciones sobre esto antes, y mi conclusión fue que la forma más fácil era clonar mi repositorio.

Para más información, consulte this answer.

Además, este es un gran guide to branching in Mercurial :)

2

Ir con un clon, no hay duda de ello. Una rama con nombre en Mercurial es algo que incluso la gente de Mercurial dice que no necesitas con tanta frecuencia. Una de las cosas maravillosas de DVCS es el hecho de que puede clonar fácilmente el repositorio y probar algunas cosas nuevas y diferentes, y si funcionan, genial, volver a fusionarlo en el repositorio principal, de lo contrario, eliminarlo todo.

Personalmente utilizo un enfoque "Branch By Feature" con Mercurial, lo que significa que haré un clon de mi repositorio primario para cada función en la que estoy trabajando. Esto incluye picos y experimentos.

+1

¿Por qué no una sucursal anónima? Es menos pesado que un clon y no tan permanente como una rama de características. – Santa

+0

Parece una opción razonable, y probablemente menos voluminosa para un proyecto grande. ¡Gracias! – ckramer

Cuestiones relacionadas