我正在研究一些更高级的 git 用法,我认为钩子是我想要的方式,也许有人可以在这里给我一些建议。
我的计划是拥有一个包含 3 个分支(开发、登台和生产)的 git 存储库。我希望提交到这 3 个分支中的每一个以在提交后触发不同的脚本。
git 有能力做到这一点还是我在叫错树?
提前致谢。
我正在研究一些更高级的 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
我为自己编写了一个脚本来执行此功能。
https://github.com/fotuzlab/githubdump-php
将此文件托管在您的服务器上,最好是 repo root 并在 github webhooks 中定义 url。将第 8 行的“allcommits”更改为您的分支名称,并在第 18 行添加您的代码/函数。
对于所有 3 个实例,您将需要单独的文件和 webhook。
希望这可以帮助!