我最近git-ified一个网络项目。 Following this guide,我在我的主目录/home/mt33
中设置了一个裸仓库,作为www/
中克隆的集线器。然后我将裸仓库(没有工作树)克隆到我的本地机器,进行更改,提交,并push origin master
它们到服务器。然后,裸仓库上的更新后脚本会关注cd
到www/
克隆,并提取所有更改。这一切都很有效。
我想添加第二个开发人员,但他无法从我主目录中的裸仓库中克隆。所以我要求sysadmin将group-read,group-write和group-execute权限添加到我的主目录,并将第二个dev添加到我的组。因此,他确认他可以SSH到服务器并cd
进入主目录,以及查看repo.git
目录的内容。这是他所看到的:
drwxrwxr-x 7 mt33 mt33 4096 2012-03-07 19:10 repo.git
当他尝试使用
进行克隆时 git clone theseconddev@theserver:/home/mt33/repo.git my_directory
他收到了错误
fatal: '/home/mt33/repo.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
此时我不知道该怎么做......我的主目录中的裸仓库是否有问题?任何指针都赞赏......
答案 0 :(得分:1)
您可能还需要为 /home/mt33/repo.git
中的文件添加这些权限。
chmod -R g+rwx /home/mt33/repo.git
(另请确保在sharedRepository=true
文件中设置config
以便将来正确保留权限。)
答案 1 :(得分:0)
尝试从www位置获取第二个开发人员克隆。如果这样做(不要让他/她推动:-),那么你可以使用其他工作流程(作为解决实际问题的方法),你可能会学到一些关于或者ssh / git设置。