2011-06-16 14 views
21

Estoy trabajando en obtener un uso más avanzado de git, y creo que los ganchos son la forma en que quiero ir, tal vez alguien me puede dar algunos consejos aquí.Git comprometer ganchos por rama

Mi plan es tener un repositorio git con 3 ramas (desarrollo, montaje y producción). Quiero comprometer a cada una de estas 3 ramas para desencadenar un script diferente post-commit.

¿Tiene git la capacidad de hacer esto o estoy ladrando en el árbol equivocado?

Gracias de antemano.

Respuesta

29

en un gancho post-commit que podría hacer lo siguiente:

if [ `git rev-parse --abbrev-ref HEAD` == "development" ]; then 
    echo "development-script" 
elif [ `git rev-parse --abbrev-ref HEAD` == "staging" ]; then 
    echo "staging-script" 
elif [ `git rev-parse --abbrev-ref HEAD` == "production" ]; then 
    echo "production-script" 
fi 
1

que había escrito un guión para mí mismo para hacer esta funcionalidad.

https://github.com/fotuzlab/githubdump-php

anfitrión este archivo en el servidor, preferiblemente raíz de recompra y definir la dirección URL en WebHooks GitHub. Cambie 'allcommits' en la línea 8 con su nombre de sucursal y agregue su código/función en la línea 18.

Necesitará archivos separados y webhooks para todas sus 3 instancias.

Espero que esto ayude!