¿Es posible agregar un número de versión usando git / github?

Estoy usando Github, y me di count de que tienen una buena API para acceder a la información de repos como commits, quién lo hizo, etc.

Esta sería una gran manera de mostrar versiones anteriores del proyecto en un sitio externo, pero me preguntaba si existe una forma conocida de agregar un número de versión a la confirmación maestra.

Entonces, el número de versión boostía automáticamente con cada confirmación maestra o puedo configurarlo manualmente.

Sé que puedo agregarlo en las notas, pero no estoy familiarizado si hay una manera de separarlo.

Puede usar una label para establecer un número de versión. Puede leer sobre el command de label en la página man de la label git . En el trabajo configuro nuestro server de compilation para incrementar automáticamente el número de versión de la compilation que luego se aplica con una label. Creo que esto satisfará tus necesidades?

Hay dos types de tags a considerar, un número de compilation y un número de versión. Un número de versión puede ser aplicado como una label por una persona cuando el producto se envía. Esta label es histórica e identifica events significativos (por ejemplo, envío del producto).

El número de compilation es útil para identificar en qué construcción está en relación con algún punto de partida. La combinación de git-tag y git-describe proporciona un buen medio para generar un número de compilation que puede integrarse en una compilation. git-describe puede ubicar una label previa específica con un patrón glob. Los resultados de git describe se formatearán como:

 tagname-[0-9]+-g[0-9a-f]+ 

Donde el primer patrón es el número de confirmaciones de la label y el segundo patrón es el resumen de la confirmación actual. Esto se puede formatear muy bien en un número de compilation. Incluir el hash (al less los primeros 7 caracteres) hace que sea sencillo identificar el compromiso específico asociado con la compilation.

Por ejemplo, git describe podría devolver release-2.2-42-gd788e0e . Esto podría formatearse para convertirse en la release-2.2 build 42 (d788e0e) .

Como se dijo anteriormente, compruebe el command git-tag y puede combinarlo con un gancho para que se actualice automáticamente al hacer algo, por ejemplo, expulsar el maestro.

echa un vistazo a http://git-scm.com/book/es/Customizing-Git-Git-Hooks

Estoy usando esto:

 function git_func { GITBIN=/usr/bin/git if [[ $1 == "commit" ]] && [[ "$#" -ne 1 ]] then GIT_VERSION=`$GITBIN rev-list HEAD | wc -l` let GIT_VERSION+=1 perl -e "s/(\d+\.\d+\.)\d+/\${1}$GIT_VERSION/;" -pi.save config.json rm config.json.save fi GITCMD="$GITBIN " for var in "$@" do GITCMD="$GITCMD \"$var\"" done eval $GITCMD } alias git='git_func' 

config.json contiene esto:

 "version": "0.1.44" 

La mayoría de las personas usa git-tag para esto.

Echa un vistazo a Vagrant … desplázate por las tags, verás todas las versiones.