Descubrí que es fácil escribir git hook en python. Es un ejemplo de gancho post-recepción en Python. ejemplo proporcionado despliega maestro y desarrollar sucursales en diferentes carpetas (cambios en el maestro serán empujados a la página web de producción y los cambios en el desarrollo de la rama serán empujados al sitio QA)
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
#post-receive
import sys
import subprocess
# 1. Read STDIN (Format: "from_commit to_commit branch_name")
(old, new, branch) = sys.stdin.read().split()
# 2. Only deploy if master branch was pushed
if branch == 'refs/heads/master':
subprocess.call('date >> ~/prod-deployment.log', shell=True)
subprocess.call('GIT_WORK_TREE=/home/ft/app.prod git checkout master -f', shell=True)
subprocess.call('cd ../../app.prod;bower update', shell=True)
#3. Only deploy if develop branch was pushed
if branch == 'refs/heads/develop':
subprocess.call('date >> ~/dev-deployment.log', shell=True)
subprocess.call('GIT_WORK_TREE=/home/ft/app.dev git checkout develop -f', shell=True)
subprocess.call('cd ../../app.dev;bower update', shell=True)
redactado correctamente, esto puede ser una buena pregunta general , así que he reformulado esto para que sea más general y menos específico de idioma (respetando al mismo tiempo la experiencia del interrogador en python y bash). Si alguien quiere ayudar a limpiarlo más, de modo que sea lo suficientemente general como para vincularlo al GIT no oficial. Preguntas frecuentes http://stackoverflow.com/questions/315911/git-for-beginners-the-definitive-practical-guide, que sería muy apreciado. –
Gracias. Lo aprecio, Ken – myusuf3