初始推送之前的 Gitosis 接收后钩子

初始推送之前的 Gitosis 接收后钩子

我在客户端计算机上有一个脚本,用于将必要的配置内容添加到服务器上的 gitosis.conf。我可以推送,一切正常。

但是,我想添加一个 post-receive 钩子,这样当第一次推送存储库时,就会发生一些特定的操作。我尝试在第一个版本之前将其添加到本地存储库(在 .git/hooks 中),但该钩子在推送时未传输到服务器。

我该怎么做?在初始推送之前,/srv/gitosis/repositories 目录中没有存储库。

答案1

Git 使用模板来设置新的存储库。我不知道 Gitorious 是否使用这些相同的模板,但值得一试。在我的系统上,它们位于/usr/local/share/git-core/templates/hooks

答案2

Hooks 不会通过 推送到服务器git push。否则,这将引发严重的安全问题:任何人都可以推送以更高权限在您的服务器上执行的代码。

要解决该问题,您只需将钩子复制到创建的目录中,然后在第一次推送后手动运行它:

GIT_DIR=. hooks/post-receive

您只需执行一次此操作。

相关内容