我使用下面的指南在我的ubuntu10.04服务器上设置了一个git:http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way
它工作得很好,我可以将配置克隆到我的ubuntu 10.10台式计算机上,然后在那里提交更改。
这没问题,但我大部分的实际代码都是在服务器上完成的。因此,我需要在本地克隆配置/gitosis admin.git存储库和其他存储库。
git克隆--本地file:///home/git/repositories/gitosis-admin.git给我: fatal:‘/home/ git /repositories/gitosis admin.git’似乎不是git存储库fatal:远程端意外挂起
我将我的服务器用户添加到组git中,并得到: fatal: failed to open '/home/git/repositories/gitosis-admin.git/objects':Permission denied
然后,我尝试在服务器上创建一个公钥,并将其添加到密钥admin repo中,在配置中将用户名添加为(user)和(user)@(hostname):git clone git @localhost:gitosis admin.git or git clone git@(hostname):gitosis admin.git这两个命令都会要求我提供git@(Hostname)密码
当我返回到我的桌面并查看gitosis admin代码库时,gitosis.conf列出了:
[group gitosis-admin] writable gitosis-admin members = (desktopUN)@(desktopHostname) (serverUN)@(serverHostname) 但是在服务器上,如果我以根目录进入/home/git/repositories/gitosyadmin.git/和cat gitosis.conf,它会列出gitosis
[group gitosis-admin] writable gitosis-admin members = (desktopUN)@(desktopHostname) 我无法理解这一点,我该如何设置才能让它以我想要的方式工作。这一切的背后很有可能是我的新手,但我现在已经花了5个小时尝试让它工作,我花了2分钟来设置一个svn repo。所以我开始不耐烦了..
谢谢
发布于 2011-11-08 05:54:49
我想对这个问题给出一个详细的答案,因为我只需要使用gitosis admin本地克隆来让其他人的安装正常工作。我想其他用户可能会来这里寻求帮助,如果你需要编辑gitosis admin,但对repos所在的文件系统只有本地根访问权限,那么应该怎么做。如果你是这样得到的,那么你的直觉很好,因为你可以在本地克隆和编辑gitosis admin存储库。然而,要让一切正常工作,你必须小心你是如何做的。以下是步骤:
前提条件:
$USER gitosis管理员访问权限;$USER是有效用户。$PATH。(在Ubuntu上,这通常是由用户“/srv/gitosis/repositories/gitosis-admin.git)$PATH”拥有的。步骤:
以sudo -H -u $USER ssh-keygen
sudo -H -u gitosis git clone $PATH
根据需要对gitosis admin conf执行sudo -H -u gitosis cp ~$USER/.ssh/id_rsa.pub ./gitosis-admin/keydir/$USER.pub
sudo -H -u gitosis nano ./gitosis-admin/gitosis.conf
sudo -H -u gitosis git commit -am "Adding $USER" ./gitosis-admin
以sudo -H -u gitosis git push ./gitosis-admin
sudo -H -u gitosis git push ./gitosis-admin
sudo -H -u gitosis GIT_DIR=$PATH $PATH/hooks/post-update
https://stackoverflow.com/questions/4979170
复制相似问题