2012-05-25 10 views
15

Sé que hay preguntas como this, pero eso no es lo que estoy pidiendo."git checkout tag-name" frente a "git reset --hard tag-name"

también sé que:

git checkout tag-name:

  • que se desprende de la rama. (Es decir, se mueve HEAD puntero, mantiene BRANCH puntero)

git reset --hard tag-name:

  • no le desprenderse de la rama, pero hace que las confirmaciones anteriores para convertirse en "colgando". (Es decir, se mueve tanto HEAD y BRANCH punteros)

Me pregunto cuál tiene más sentido para actualizar a una etiqueta, es decir, debe ser una producción reseted o desprotegido. Sé que se puede ejecutar un recolector de basura, eliminando las confirmaciones pendientes, pero de nuevo, si la producción siempre se "tira" antes del proceso de actualización a una etiqueta, no veo nada malo allí.

¿Debe producirse una actualización de una etiqueta con reset o checkout, teniendo en cuenta que un pull siempre se realiza antes de esta llamada de actualización?

Respuesta

14

Me pregunto cuál tiene más sentido para actualizar a una etiqueta

Su producción se debe instalar retirar una etiqueta.

Piénselo de esta manera: su instalación de producción es de solo lectura. git reset --hard tag-name modificará la rama actualmente desprotegida.

Alternativamente

Es una práctica común que, además de la creación de una etiqueta, que tiene una rama que es simplemente la última versión. En ese caso, por ejemplo, fusionarse para dominar y crear una etiqueta desde allí; y en tus instalaciones de producción actualizarías simplemente con git pull (en master).

Cuestiones relacionadas