Uso del control de versiones para mantener actualizadas varias ramas de código

Espero que alguien pueda ayudarme a comprender mejor el control de versiones en este escenario. Actualmente estamos pensando en implementar VisualSVN o Mercurial, pero primero queremos resolver nuestra estrategia.

Soy parte de un equipo de desarrollo de dos hombres que trabaja en la portabilidad y el mantenimiento de un sistema CMS a medida. Buscamos mantener una rama "estable" y cada una tiene sus propias ramas de desarrollo según sea necesario.

De lo que no estamos seguros es de que cada cliente requiera sus propias personalizaciones (plantillas, hojas de estilo, etc.). Esperaría que estas fueran ramas de estable. Idealmente, nos gustaría una forma de asegurarnos de que cualquier cambio realizado en estable (como fusionar una rama de desarrollo de nuevo o agregar una corrección) se envíe a las sucursales de los clientes.

  • ¿Hay alguna manera de garantizar que estas sucursales de clientes siempre se adelanten automáticamente al conjunto de cambios más reciente?

  • ¿Podemos optar por excluir ciertos archivos (como * .css) para que no se envíen a las sucursales del cliente después de la operación inicial de la sucursal?

Mirando esto, podría ir a cada sucursal de clientes y sacar de estable, fusionando los últimos cambios en. En caso de que terminemos con muchas sucursales de clientes, ¿hay una mejor manera de hacer esto?

Encontré algunas preguntas que parecen ofrecer buenos consejos.

Disculpas si voy a hablar de esto al revés, pero todas las sugerencias serían apreciadas.

preguntado el 01 de febrero de 12 a las 14:02

1 Respuestas

  • ¿Hay alguna manera de garantizar que estas sucursales de clientes siempre se adelanten automáticamente al conjunto de cambios más reciente?

Para hacer esto, vaya a la rama, salga del establo y se fusione.

  • ¿Podemos optar por excluir ciertos archivos (como * .css) para que no se envíen a las sucursales del cliente después de la operación inicial de la sucursal?

No, no excluye archivos como ese cuando se fusiona. En su lugar, debería estructurar sus archivos para que tenga un archivo base - llámelo base.css - y luego tienes client.css Que es un adicional hoja de estilo. De esa forma, puede anular cosas de base.css in client.css según sea necesario y obtienes la última versión de base.css cuando se fusiona con su rama estable.

A menudo, puede usar el mismo sistema para otros archivos que necesitan cambios por cliente: archivos de configuración y temas.

Mirando esto, podría ir a cada sucursal de clientes y sacar de estable, fusionando los últimos cambios en. En caso de que terminemos con muchas sucursales de clientes, ¿hay una mejor manera de hacer esto?

No, esa es la forma en que funciona. Por supuesto, puede escribir esto para que sea más conveniente para usted y para reducir el riesgo de errores.

Respondido 01 Feb 12, 18:02

Hola señor, ¿podría echar un vistazo a mi pregunta? aquí? Gracias por adelantado ... :) - YS

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.