git push 后 gitweb不能查看git 仓库(权限问题)

今天闲来无事,布置了一个git server (git服务器),利用Gitolite+Gitweb进行管理,按照别人的布置方法布置完了,每当客户端执行git push,使得gitwebb不能显示那个仓库,上网查了一下是由于仓库的权限问题,当我执行如下代码,在gitweb上就又能看到了:

sudo chmod -R 755 /home/git/repositories

可是我不能每次push后都去修改文件夹的权限呀,这一下午急死我了,我又想到是不是每次执行git push命令会修改git仓库某个文件的权限,或者生成的文件别的用户无法访问导致的。
问题确实是这样的,那我就查怎么才能修改用户创建文件或者文件夹的默认权限,这个和umask设置有关,关于umask的详细用法我会后期整理出来,我用如下命令查看我的umask

umask

输出:

077

一看这个我就醉了,077,这个用户生成的文件都是不可执行的,所以geiweb没有执行权限。
因此要修改git用户下的.gitolite.rc文件,源文件的内容如下:
git push 后 gitweb不能查看git 仓库(权限问题)_第1张图片

把0077改为0002就行,保存修改退出就可以了,刷新你浏览器吧,或者做一次git push。

你可能感兴趣的:(git,gitweb)