2

我找不到有关如何正确执行此操作的任何帖子/文章-通常这意味着您使用错误,所以我想我会在这里要求检查:)

我正在使用 Gitolite,它运行良好。我已经实现了一个常见的接收后挂钩,以便在我的团队成员推送新提交时收到通知,我为他们的存储库激活了该提交。我遇到的问题是,每次推送后(无论钩子是否已更改),文件都会被覆盖并获得以下权限:

rwel@ve-git:~$ ls -la /home/git/.gitolite/hooks/common/
total 36
drwxr-xr-x 2 git git  4096 Jul  3 13:23 .
drwxr-xr-x 4 git git  4096 May  1 15:41 ..
-rw------- 1 git git 21002 Jul  3 13:23 post-receive
-rwxr-xr-x 1 git git   308 May 15 16:24 update

所以,每次我做一个gitolite-admin rwel$ git push origin,然后我必须登录到 git 服务器并手动做sudo chmod a+x /home/git/.gitolite/hooks/common/post-receive.

有一个更好的方法吗?

4

1 回答 1

2

有同样的问题。简短的回答是:

查看 unix 机器上的 gitolite-admin 存储库,chmod +x您的文件并推送它。

从现在开始,该文件是可执行的,即使在 Windows 上克隆了 repo(因为在 Windows 上克隆设置 core.fileMode=false

于 2013-10-16T10:50:10.603 回答