过去 14 天,我一直在解决 git 和 gitosis 的问题。我确实总能找到解决问题的方法,但现在我陷入了困境。简要总结一下情况:
我已经设置了 gitosis,创建了一个项目,我可以签入和退出它。然后我添加了另一个用户,通过将他添加到 gitosis.conf 授予他访问项目的权限,但他甚至无法克隆项目。然后我为同一个项目添加了另一个用户(按照相同的程序),他可以访问所有内容(克隆、拉取和推送)。最后,我又添加了一个用户,他也不能做任何事情。
我可以接受这一切,因为我有权参与这个项目。
现在我添加了一个新项目,或者说我添加了一个新项目?我坚信,我所做的一切都与第一个项目完全相同。
我在服务器上的存储库文件夹中没有找到存储库(执行“git remote add...”并推送时)。我尝试按照谷歌给我的所有关于“如何创建新存储库 gitosis”的指南操作(直到第 7 页,并非所有点击都标记为已访问)。
我也尝试过不同的方法,首先在服务器上执行“git init --bare”,然后尝试克隆它。同样没有用。
无论我尝试什么,都会出现以下错误:错误:gitosis.serve.main:存储库读取访问被拒绝,致命:远程意外挂断
(但它可以很好地访问 gitosis-admin 和我的第一个项目)
然后我读了有关 gitosis 调试的内容。我尝试使用 -v、--verbose 并在 gitosis.conf 中添加 LogLevel = DEBUG,但这些都没有给我提供额外的信息。
项目设置gitosis.conf:
[group project]
writable = project
members = me
LogLevel = DEBUG
我尽力相信,一切都是以完全相同的方式完成的,就像我建立我的第一个项目时所做的那样。
我真的陷入困境,现在该怎么办?
答案1
这实际上不是对你的问题的正确答案,但我建议你改用吉托莱特而不是 gitosis。
Gitosis 已弃用,不再开发,因此如果发现错误,它们可能永远不会被修复。Gitolite 是作为 gitosis 的替代品而创建的,具有更好的功能、调试和故障排除能力。
答案2
LogLevel DEBUG 进入“gitosis”块:
[gitosis]
LogLevel = DEBUG