2011-06-16 164 views
21

我正在研究一些更高级的git用法,我认为hooks是我想要去的方式,也许有人可以在这里给我一些建议。每个分支的Git提交钩子

我的计划是拥有一个包含3个分支(开发,分期和生产)的git存储库。我想提交这3个分支的每一个来触发不同的脚本后提交。

是否git有能力做到这一点,或者我吠叫错误的树?

在此先感谢。

回答

29

post-commit钩子,你可以做到以下几点:

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

我写了一个脚本,为自己做这个功能。

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

主机服务器上的这个文件,最好回购根和定义GitHub的网络挂接的URL。使用分支名称更改第8行上的“allcommits”,并在第18行添加您的代码/功能。

您需要单独的文件和webhooks来处理所有3个实例。

希望这会有所帮助!