what the tag remove remote prune origin does crear git deployment tags branch capistrano

the - tags vs branches en git



git tag remove (3)

Las etiquetas en git son bastante duraderas: se propagan automáticamente cuando se busca desde un repositorio remoto, y si quieres limpiarlas tienes que hacerlo manualmente en cada copia. Por lo tanto, prefiero usar las ramas (y posiblemente sus reflogs) para marcar el despliegue automático, porque de lo contrario probablemente sería enterrado en muchas etiquetas muy pronto.

Tenemos un gran proyecto de rieles que se ejecuta en un servidor de producción y de etapas. ¿Es una buena idea crear etiquetas cada vez que implementamos en etapas o producción (esto sucedería automáticamente con capistrano). ¿O es mejor crear ramas llamadas "desarrollo" y "puesta en escena", (el maestro contendría el estado de producción)?


Marcamos cada una de nuestras implementaciones (automáticamente en nuestros scripts de implementación) con el objetivo de una recuperación rápida si es necesario, pero también son útiles como un historial de implementación. Por ejemplo:

deployment_stag_20120804 deployment_stag_20120823 deployment_prod_20120715 deployment_prod_20120724

Puede hacer que su script mantenga etiquetas solo para el último número de implementaciones en N si desea evitar una gran cantidad de etiquetas.

Una rama tiene más sentido si su método de implementación se fusiona, por ejemplo, en una rama de producción, en la que un gancho de git podría desencadenar un tirón en el servidor de prod.


Puede usar ramas para desarrollo, montaje y producción y, al mismo tiempo, usar etiquetas para identificar versiones de producción. Me gusta la forma en que git flow maneja esas ramas y te permite usar más sucursales para desarrollar nuevas funciones. Como desarrollador, nunca tendrías que ingresar código en la rama principal, y las fusiones en master también son raras.