我的post提交钩子有以下设置:
在.git/hooks/一键登台中
#!/bin/sh
while read oldrev newrev refname
do
branch=$(git rev-parse --symbolic --abbrev-ref $refname)
git push -f myapp $branch:master && heroku run rake db:migrate -a my-app && heroku restart -a my-app
done我确保使用chmod +x push- to -staging。
然而,当我推送到我的任何分支时,推送显然是正常的……但仅此而已。我没有看到推送到我的临时服务器。
其次,我想知道是否有一种方法可以使这个post commit钩子成为我的repo的一部分(或者这不是钩子应该如何工作的吗?)我只是希望我的团队中的每个人基本上都有这个设置。
发布于 2013-06-28 03:53:37
在Git中没有这样的钩子:push-to-staging。您可以在存储库的hooks目录中看到可用的挂钩,例如,在我的系统中,我有:
applypatch-msg
commit-msg
post-commit
post-receive
post-update
pre-applypatch
pre-commit
prepare-commit-msg
pre-rebase
update在您的例子中,您正在寻找post-commit钩子。将脚本重命名为post-commit,或者从post-commit创建指向您的脚本的符号链接。
您不能使钩子成为存储库的一部分,也就是说,您不能自动启用钩子并通过分支操作进行传播。如果这是可能的,那么在克隆存储库时,这将是一个巨大的安全风险。你可以做的是简化钩子脚本的启用,你可以在其他答案中看到这样的例子:
https://stackoverflow.com/questions/17351659
复制相似问题