每个分支的Git提交钩子

每个分支的Git提交钩子,git,branch,post-commit,githooks,Git,Branch,Post Commit,Githooks,我正在研究git的一些更高级的用法,我认为钩子是我想要的方式,也许有人可以给我一些建议 我的计划是拥有一个包含3个分支(开发、暂存和生产)的git存储库。我希望对这3个分支中的每一个进行提交,以在提交后触发不同的脚本 git有能力做到这一点,还是我找错了方向 提前感谢。在提交后挂钩中,您可以执行以下操作: if [ `git rev-parse --abbrev-ref HEAD` == "development" ]; then echo "development-script" eli

我正在研究git的一些更高级的用法,我认为钩子是我想要的方式,也许有人可以给我一些建议

我的计划是拥有一个包含3个分支(开发、暂存和生产)的git存储库。我希望对这3个分支中的每一个进行提交,以在提交后触发不同的脚本

git有能力做到这一点,还是我找错了方向


提前感谢。

在提交后挂钩中,您可以执行以下操作:

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

我为自己编写了一个脚本来实现这个功能

在服务器上托管此文件,最好是repo root,并在github webhooks中定义url。将第8行的“allcommits”更改为分支名称,并在第18行添加代码/函数

对于所有3个实例,您将需要单独的文件和Webhook

希望这有帮助