我在本地设置了一个测试项目;
~/development/test/
我有git初始化它,我可以推送到我的远程“测试”回购。没问题。
我可以从命令行运行我的更新后挂钩手动;
./post-update
它将启动Web浏览器,因为该文件包含以下内容;
#!/bin/bash
echo "Hook is running........."
python -mwebbrowser http://example.com
但当我执行git push -u origin master
时,该文件似乎无法运行。 bash脚本中没有任何内容似乎发生。
我按照规定in this post
正确设置了文件权限关于还有什么可以尝试的任何想法?
答案 0 :(得分:1)
我猜你使用了错误的钩子。 Git hook documentation说:
远程存储库上的git-receive-pack
调用更新后, 当在本地存储库上完成git推送时会发生这种情况。的它 在所有引用完成后,在远程存储库上执行一次 更新。
你想要一个不存在的推后推送钩子。相反,您可以使用预推挂钩。
{p> 预推由git push
调用。如果此钩子以非零退出
状态,git push将在不推送任何内容的情况下中止。
在执行推送之前将打开Web浏览器,但如果您在后台任务(带有字符&
)上打开它并返回0
,它应该可以执行您要查找的操作。< / p>
您的脚本将成为
#!/bin/bash
echo "Hook is running........."
python -mwebbrowser http://example.com &
exit 0