2009-02-12 11 views

Respuesta

2

Siempre veo las etiquetas como la rama del hombre perezoso. Si vas a hacer algo tan significativo que requiera una etiqueta de fuente completa, probablemente sea mejor denotarlo con una rama para que todas las tareas asociadas con ese esfuerzo estén en un lugar organizado con solo el código afectado.

Sin embargo, la ramificación es muy poderosa y es algo que vale la pena conocer. TFS no es el mejor control de fuente, pero tampoco es el peor. TFS admite el concepto de un tronco del cual brotan también todas las ramas.

I would recommend this as a good place to read up on best practices - al menos en lo que respecta a TFS.

+14

Con respecto, este es un consejo muy pobre ya que las etiquetas y las sucursales hacen dos cosas muy diferentes. Si alguien abusa de las etiquetas cuando intentaba realizar una bifurcación, yo estaría de acuerdo, pero las etiquetas hacen exactamente lo que su nombre implica: marcan y agrupan un conjunto particular de archivos, lo cual es útil por razones que no implican ramificación. Si trabajas en una situación en la que tienes varias etapas de lanzamiento, la utilidad (y la diferencia) se vuelve muy obvia. Por lo tanto, he votado negativamente. – McGuireV10

+2

@ McGuireV10 Estoy de acuerdo con respecto al uso que hace Andrew Hare de la frase "Siempre veo las etiquetas como ...", ya que existe un caso de uso "adecuado" para las etiquetas. Habiendo dicho eso, viniendo de un trasfondo de Subversion y haciendo mi camino a través del mundo de VCS distribuido y de regreso a TFS (no por elección, per se), las etiquetas de conversión de Subversion parecerán un sustituto débil para el etiquetado, y eso puede por qué algunas personas mezclan el uso de etiquetas y ramificaciones.Por supuesto, para alguien que se muda de TFS a SVN, el etiquetado parecerá un sustituto bastante pesado para las etiquetas. :) –

11

En cualquier VCS, uno normalmente marca cuando quiere una instantánea del código, que se mantendrá como referencia para el futuro. Se bifurca cuando desea desarrollar una nueva característica, sin alterar el código actual.

+1

+1 puramente por condescendencia :) –

45

Una etiqueta en TFS es una forma de etiquetar una colección de archivos. La etiqueta contiene un grupo de archivos y la versión del archivo. Es una forma muy económica de marcar qué versiones de archivos conforman una compilación, etc.

Una ramificación puede considerarse como una copia de los archivos (de una determinada versión) en un directorio diferente en TFS (con TFS) sabiendo que esta es una rama y recordará de qué archivos y versiones era una rama).

Como dice Eric Sink, a branch is like a puppy. Requiere algo de cuidado y alimentación.

Personalmente, etiqueto a menudo pero raramente. Creo una etiqueta para cada compilación, pero solo ramifico cuando sé que necesito trabajar en una versión histórica o que necesito trabajar de forma aislada de la línea principal de código. Puedes crear una rama desde cualquier punto en el tiempo (y también una etiqueta) para que funcione bien y signifique que no tenemos ramas que no estén siendo usadas.

Espero que ayude,

Martin.

10

Andrew afirma que el etiquetado es más lento que la bifurcación; en realidad es más eficiente en la mayoría de los casos, no flojo. El etiquetado puede permitir a los usuarios capturar un proyecto en cualquier momento, mantener un historial de archivos modificados para una versión o compilación, y bifurcarse/trabajar con el código en cualquier punto y luego volver a fusionarse en la rama principal. En lugar de lo que dijo Andrew, se le recomienda que solo se desvíe cuando se desee más de un conjunto de binarios, por ejemplo, cuando el desarrollo de control de calidad y desarrollo se desarrolle simultáneamente o cuando necesite aplicar un hotfix a una versión anterior.

Cuestiones relacionadas