Git安装脚本如何inputshell命令

这是更多的git相关的问题比openshift
当我使用git将文件推送到git服务器时,我发现我的perl index.cgi文件的文件权限在openshift repo中被更改为700。
因此,每次我推送时,我都必须使用sshlogin到服务器,并在$OPENSHIFT_REPO_DIR执行chmod a+x index.cgi将其更改为755。

我读的git文件中可以添加一个钩子,我尝试使用以下命令更新hooks目录中的post update脚本

 exec chmod a+x $OPENSHIFT_DATA_DIR/index.cgi 

但是,这似乎并没有奏效。

你能告诉我我做错了什么吗?
我如何确保每次推送文件时都不需要更改chmod

如何通过git安装脚本执行shell命令(我不知道什么是安装脚本,我认为这意味着挂钩)

基于下面的build议,我想我需要将钩子添加到服务器,所以我试了一下,但我得到了一个错误

$ git add .git/hooks/post-update error: Invalid path '.git/hooks/post-update' error: unable to add .git/hooks/post-update to index

所以我尝试了一些使用动作钩子的选项,在当地的.openshift / action_hooks目录下放置一个“start”。

有一个试图使用的命令是exec chmod a+x register.cgi ,甚至是chmod a+x register.cgi

没太多的运气。 任何input。 我会把这个作为一个单独的q反对行动钩子。

Solutions Collecting From Web of "Git安装脚本如何inputshell命令"

这是更多的git相关的问题比openshift。

实际上,与Git相比,它更像openshift: Git只记录644和755权限 。

但是管理一个checkout(并更新一个工作树)的目标系统会根据默认的umask设置权限(这可能在你的情况下是077 )。
确保默认的umask022

关于钩子,检查它的名字(' post-update ',没有扩展名)和权限(它必须是可执行的,755将是有用的)

在这种情况下带来权威的gitweb文件夹。

的GitWeb /
drwxr-xr-x 3 root root 4096 Sep 25 12:01。
drwxr-xr-x 225 root root 12288 Oct 27 20:10
-rwxr-xr-x 1 root root 251319 Sep 23 04:36 gitweb.cgi
lrwxrwxrwx 1 root root 10 Sep 23 04:36 index.cgi – > gitweb.cgi
drwxr-xr-x 2 root root 4096 Sep 25 12:01 static