Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 无法查看存储库_Git_Gitweb - Fatal编程技术网

Git 无法查看存储库

Git 无法查看存储库,git,gitweb,Git,Gitweb,安装GitWeb和CGit,以试用到我的Git/Gitosis存储库的web接口。戴着Fedora 13跑步,我的肌肉感觉很好。我安装了gitweb和cgit,并将配置设置为指向我的存储库,但gitweb或cgi都不会列出存储库。Gitweb显示Gitweb页面,但显示: 404-未找到任何项目 我在/etc/gitweb.conf文件中列出了正确的目录: $projectroot = "/var/lib/gitosis/repositories"; $projects_list = "/v

安装GitWeb和CGit,以试用到我的Git/Gitosis存储库的web接口。戴着Fedora 13跑步,我的肌肉感觉很好。我安装了gitweb和cgit,并将配置设置为指向我的存储库,但gitweb或cgi都不会列出存储库。Gitweb显示Gitweb页面,但显示:

404-未找到任何项目

我在/etc/gitweb.conf文件中列出了正确的目录:

 $projectroot = "/var/lib/gitosis/repositories";
 $projects_list = "/var/lib/gitosis/gitosis/projects.list";
 $export_ok="";
 $strict_export = "true";
CGit显示CGit页面,但显示:

不是git存储库: “/var/lib/gitosis/repositories/code/test.git”

当我点击这个测试库链接时(是的,它存在)。我有正确的目录 在以下文件的/etc/cgitrc文件中列出:

 repo.url=Test Repo
 repo.path=/var/lib/gitosis/repositories/code/test.git
 repo.desc=master test repository
 repo.owner=gitosis@gitserv
 repo.readme=info/web/about.html

因为两者都没有列出存储库,我觉得这一定是我的配置,但我似乎不知道配置什么才能让它们显示出来。我的存储库在/var/lib/gitosis/repositories中进行了符号链接,指向目录/home/git。我还将我的存储库设置为/var/lib/gitosis/repositories下的code和conf以及文档,您可以使用code/test.git或conf/test.git或docs/test.git签出它们。我认为这可能是问题所在,并将repo直接复制到/var/lib/gitosis/repositories dir中,但它们仍然没有显示出来。请有人能告诉我任何我能让它工作的东西吗。已经使用了好几天。

因为这些存储库实际上位于您的主目录中,所以可能是权限问题。也许你的家是
chmod
ded让“其他人”看不懂

这些存储库目录(在您的主页中,而不是符号链接中)的权限是否足够宽,以允许Web服务器查看它们?为了让Web服务器查看您的存储库,Web服务器可以读取存储库和存储库本身的完整路径,并且Web服务器需要将目录设置为
r+x

使用一些
ls-la
查看权限,并使用良好的判断使用
chmod


或者,也许更好。。。只需将存储库移动到其他地方,如
/opt
/gitrepo
,并在那里正确设置权限。我建议这样做是因为有很好的理由说明您的主页不应该是世界可读的。

请注意,主页目录的问题很可能是由于启用了SELinux。尝试在/etc/sysconfig/selinux中禁用。

“/var/lib/gitosis/gitosis/projects.list”包含什么(请注意,您不需要它,因为gitweb自动检测存储库)?
find/var/lib/gitosis/repositories-type f-name HEAD
返回什么?find返回“/var/lib/gitosis/repositories/gitosis admin.git/HEAD”,并且项目包含“code%2Ftest.git gitosis%40gitserv”等形式的存储库列表,每行查找似乎没有进入符号链接。。。嗯……我不确定这是否是系统需要能够做到的最终展示,以便gitweb和cgit能够显示回购信息,但当我将gitosis搬回家时,我在/opt/gitosis中使用了“查找存储库-键入f-name HEAD”。我最终得到了一个显示器,然后我的gitweb和cgit开始显示回购和回购数据。ThanksI一直尝试到777,只是想看看这是否是问题所在。还尝试将repos完全移动到/var/lib/gitosis目录中。但似乎什么都不管用。我已经做了几天了,我将再次尝试移动目录。您需要确保无论将这些repo放在何处,导致repo的所有目录以及repo文件本身都是Web服务器用户可读的,并且(如果存在)运行gitweb.OK的用户我将整个gitosis主页和存储库移动到/opt/gitosis,并使gitois和git ssh正常工作。然后我更改了gitweb(/etc/gitweb.conf)和cgitc(/etc/cgitc)的配置文件,以指向新的repos。重启httpd。现在我的回购协议出现了。Whohoo.为什么不在禁用SELinux之前检查audit.log?另外,作为一个注释可能更好