2012-02-16 16 views
5

Tenemos un flujo de trabajo de Git bastante común como se describe en this article. Ahora en nuestro servidor de compilación nos gustaría hacer planes de compilación para desarrollar, maestro y para la última versión. El problema es que la última rama de publicación tiene diferentes nombres en el tiempo (* release - **).Sucursal de Alias ​​para la última versión en Git

¿Cuáles son las formas de resolver este problema? ¿Es posible crear un alias con el nombre permanente lastrelease que pueda ser utilizado por un servidor de compilación? ¿Algo más?

Respuesta

1

Es posible crear refs que apunten a otros refs, a través del comando git symbolic-ref. comportamiento

Sin embargo, esto no es necesariamente la intención: What's the recommended usage of a Git symbolic reference?

Su otra opción podría ser que HEAD de su maestro Git punto repositorio en su última release- rama, y ​​luego tener la acumulación servidor de compilación HEAD, develop, y master.

Una tercera opción sería simplemente tener una rama release-latest y usar un gancho post-recepción para actualizarla cada vez que se actualice su rama actual release-.

2

Si obtuvo una regla de pedido natural para su nombre de release * etiquetas, puede listarlas y elegir la última.

Por ejemplo, esto se puede lograr de esta manera:

git tag -l release-* | sort -V 

opción -l de etiqueta git es enumerar las etiquetas coinciden con el patrón suministrado.

tipo -V es una opción especial de ordenación numérica diseñada para su caso

Si quieres coger el último acaba de añadir la cola -1:

git tag -l release-* | sort -V | tail -1 

Si desea obtener la última versión de una subversión (por ejemplo, versiones 1.x) es bastante fácil:

git tag -l release-1.* | sort -V | tail -1 
Cuestiones relacionadas