¿Cuándo se deben preferir los TAG sobre BRANCHING y viceversa (en CVS)?
-
02-07-2019 - |
Pregunta
Creo que el título debería ser lo suficientemente bueno.
Solución
Tags
Piense en ello como una instantánea en el tiempo. Quiero poder volver a ese punto exacto. Sin embargo, nunca cambiará. No hace un registro en un elemento etiquetado.
Cosas que pueden ser etiquetadas:
- Lanzamientos (mayores y menores)
- Parches enviados a los clientes
- Corrección de errores
- Hitos (alfa, beta, etc.)
- Construcción diaria exitosa
Branches
La rama tendrá desarrollo realizado (es decir, checkins).
Puede crear una rama a partir de una etiqueta (por ejemplo, para corregir un error).
Puede crear una rama para desarrollar una característica y luego fusionarla de nuevo con el tronco principal.
Puede crear una rama para un lanzamiento (menor o mayor).
El punto clave es que las ramas pueden modificarse, y las etiquetas no deben ser .
Otros consejos
Las etiquetas se deben usar cuando se quiere marcar un hito. El hito podría ser tan pequeño como una compilación diaria.
Las ramas se deben usar cuando desee realizar cambios independientemente de otra rama / troncal.
La bifurcación también debe usarse para hitos importantes, como las versiones. Esto depende de su estrategia de bifurcación .
A propósito de otras respuestas,
Usamos etiquetas para lanzamientos de puntos menores y ramas para lanzamientos. Así, por ejemplo,
v1.0 <-- Branch
v1.0.1 <-- Tag
v1.0.2 <-- Tag
v1.1 <-- Branch
v1.1.1 <-- Tag
v1.1.2 <-- Tag
v1.2 <-- Branch
v1.2.1 <-- Tag
v1.2.2 <-- Tag
v1.3 <-- Branch
v1.3.1 <-- Tag
v1.3.2 <-- Tag
v1.4 <-- Branch
v1.4.1 <-- Tag
v1.4.2 <-- Tag
v1.5 <-- Branch
v1.5.1 <-- Tag
v1.5.2 <-- Tag
Para usar una analogía de Microsoft, una Rama es una versión de Windows (95, XP, Vista, etc.) y una etiqueta es un Service Pack.