每次 gitolite-admin 推送后,Gitolite 后接收 Hook 不再可执行

标签 git permissions hook gitolite

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

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

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.

有更好的方法吗?

最佳答案

had the same Problem 。简短的回答是:

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

从现在起,即使在 Windows 上克隆存储库,该文件也是可执行的(自 cloning on windows sets core.fileMode=false 起)

关于每次 gitolite-admin 推送后,Gitolite 后接收 Hook 不再可执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11310356/

相关文章:

git子模块: track corresponding branch in submodule?

java - 基于用户和组的文件夹权限

javascript - 如何在 Handsontable 的 afterChange 中使用 getCellMeta?

linux ptrace() 获取函数信息

git - 如何在 Windows 上将现有 key 添加到 openssh?

wordpress - WPengine 和 git

git - 理解 git push 命令

PHP - 如何读取私有(private) XML 文件?

android - 如何以编程方式检查 Android "Location Consent"?

c++ - 通过 mhook 的 Winapi hook 导致程序崩溃或挂起