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.