Estoy tratando de encontrar un buen método para administrar los cambios de código en un proyecto grande con varios equipos. Usamos subversión en este momento, pero quiero más flexibilidad para crear un nuevo lanzamiento de lo que parece que puedo obtener con subversión.¿Control de versión ágil?
Aquí es más o menos lo quieren:
- para cada desarrollador para crear parches fácilmente identificables para el proyecto. Cada parche brinda una historia completa del usuario (una función o solución liberable). Puede abarcar muchos cambios en muchos archivos.
- desarrolladores son capaces de aplicar y retirar fácilmente sus propios y otros parches para facilitar las pruebas gestor de
- liberación selecciona los parches que se utilizarán en la próxima versión en una nueva rama
- rama se prueba, correcciones se fusionaron en, y finalmente fusionados en vivo
- los equipos pueden volver a colocar estos cambios en sus sandboxes.
Estoy buscando stacked git como una forma de lograr esto, pero ¿qué otras herramientas o técnicas pueden ofrecer este tipo de flujo de trabajo?
Exactamente el tipo de cosa que estoy buscando. Su P.S. está bien hecho, pero a veces tenemos características que simplemente no pasarán las pruebas a tiempo. Por supuesto, no es un fallo del control de versiones, pero de todos modos, quiero poder volver a montar fácilmente una versión cuando eso suceda. –
@ Paul: su razonamiento para escoger y elegir tiene sentido. Tenemos clientes que desean elegir y elegir parches y cambios, que en el peor de los casos, pueden ser cualquier conjunto de cambios, en cualquier momento para cualquier sucursal. Y no, no ... bueno, casi nunca, algunos clientes y problemas pueden torcer su brazo lo suficiente como para hacerlo posible, pero es un proceso de soporte especial (el Cliente A tiene una versión especial). –
@PaulDixon: Me alegra que lo haya encontrado interesante. En cuanto a su respuesta a P.S., lo entiendo ahora. Mi sensación inmediata es que no se supone que dichas características se envíen a la rama DONE en el modelo anterior (y se pospongan automáticamente al siguiente sprint y, por lo tanto, a la próxima versión). Pero es muy probable que simplifique demasiado y le dejaré saber cómo manejar esta situación en * su * contexto :) –