Git Hook发布更新文件未运行

时间:2016-09-07 10:40:10

标签: git bash hook

我在本地设置了一个测试项目;

~/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

正确设置了文件权限

关于还有什么可以尝试的任何想法?

1 个答案:

答案 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