Git钩子不自动运行

1 投票
1 回答
821 浏览
提问于 2025-04-16 11:39

我正在尝试设置一个 git 钩子,以便可以与 bugTracker.net 进行集成。他们提供了一个 git 钩子脚本,我已经把它粘贴到 post-commit.sample 文件中准备使用。我把 .sample 后缀去掉了,所以现在文件名是 post-commit。我已经安装了 Python 并设置了路径。不过,这个钩子没有自动运行。如果手动运行的话是可以成功的。

我已经给“所有人”这个文件“完全控制”的权限(我想这相当于 Windows 系统中的 chmod 777)。

有人能给我一些建议吗?

谢谢,
Max。

1 个回答

0

我注意到最近一周,有很多人在Windows上尝试托管git仓库时遇到了这个问题,所以我几乎可以肯定你遇到的问题是什么。不过,我们还是来详细看看你的设置。

你是用什么协议来推送的呢?是SSH、HTTP(S)、FTP、RSYNC,还是GIT?其实,SSH和HTTPS这两种协议是最常用的推送方式。

我假设你是在用HTTP(S),因为这是我经常看到的常见情况。

你是怎么设置HTTP(S)的呢?是用那种老方法,只是允许HTTP(S)访问仓库,并在某个钩子里放了git-update-server-info(这个在默认的示例钩子里有)?还是用的是更新的方法,使用git-http-backend作为CGI脚本?

我假设你是在用老的HTTP(S)方法。这个方法其实并不适合用来推送到仓库,也不会触发钩子。你需要切换到使用git-http-backend CGI脚本的更新方法,或者使用SSH。

撰写回答