我将存储库从 Ubuntu 服务器迁移到 Centos 6 服务器。我的存储库位于 /home/mydir/gitrepos
我安装了 nginx 和 gitlist,并且必须将 /home/mydir/gitrepos 的所有权和组更改为 nginx:nginx,以便 gitlist 可以在我的浏览器上读取和呈现存储库列表
今天我尝试将我的更改从笔记本电脑推送到远程存储库,但出现了致命错误:/home/mydir/gitrepos/myproject.git 似乎不是有效的存储库,致命错误:远程端意外挂断
我尝试拉取,结果得到了相同的消息。我怀疑存储库未被读取。因此更改了 gitrepos 目录的所有权,并且能够克隆、推送等,但 gitlist 不显示存储库列表。
有没有办法设置权限,以便我能够实现以下目标
- Gitlist 应该能够显示存储库列表页面
- user1、user2 和 devs 组的其他成员可以使用 ssh 进行克隆、推送和拉取(例如 git clone ssh://user1@myip:9999/home/mydir/gitrepos/myproject.git)
答案1
我终于找到了出路:chmod -R 775
这将确保 devs 组具有写入权限,而 NGINX 组具有对存储库目录中文件的读取权限。请注意。在 Linux 和 Unix 系统中,您需要对该目录具有执行权限,以便用户读取目录的内容。
答案2
更新。您需要执行本文中提到的步骤才能解决 git Push 错误