首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Git:本地克隆gitosis admin repo

Git:本地克隆gitosis admin repo
EN

Stack Overflow用户
提问于 2011-02-13 00:34:07
回答 1查看 3.9K关注 0票数 1

我使用下面的指南在我的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列出了:

代码语言:javascript
复制
 [group gitosis-admin]
代码语言:javascript
复制
 writable gitosis-admin
代码语言:javascript
复制
 members = (desktopUN)@(desktopHostname) (serverUN)@(serverHostname)  

但是在服务器上,如果我以根目录进入/home/git/repositories/gitosyadmin.git/和cat gitosis.conf,它会列出gitosis

代码语言:javascript
复制
 [group gitosis-admin]
代码语言:javascript
复制
 writable gitosis-admin
代码语言:javascript
复制
 members = (desktopUN)@(desktopHostname)  

我无法理解这一点,我该如何设置才能让它以我想要的方式工作。这一切的背后很有可能是我的新手,但我现在已经花了5个小时尝试让它工作,我花了2分钟来设置一个svn repo。所以我开始不耐烦了..

谢谢

EN

回答 1

Stack Overflow用户

发布于 2011-11-08 05:54:49

我想对这个问题给出一个详细的答案,因为我只需要使用gitosis admin本地克隆来让其他人的安装正常工作。我想其他用户可能会来这里寻求帮助,如果你需要编辑gitosis admin,但对repos所在的文件系统只有本地根访问权限,那么应该怎么做。如果你是这样得到的,那么你的直觉很好,因为你可以在本地克隆和编辑gitosis admin存储库。然而,要让一切正常工作,你必须小心你是如何做的。以下是步骤:

前提条件:

  • 您是根用户。
  • 您想要授予$USER gitosis管理员访问权限;$USER是有效用户。
  • gitosis管理员存储库位于$PATH。(在Ubuntu上,这通常是由用户“/srv/gitosis/repositories/gitosis-admin.git)
  • $PATH”拥有的。

步骤:

  1. 如果他们还没有一个密钥对,请为您想要授予gitosis admin访问权限的用户生成一个密钥对。

sudo -H -u $USER ssh-keygen

  • Make用户的身份使用gitosis admin存储库的本地克隆。

sudo -H -u gitosis git clone $PATH

  • Add新的公钥。

根据需要对gitosis admin conf执行sudo -H -u gitosis cp ~$USER/.ssh/id_rsa.pub ./gitosis-admin/keydir/$USER.pub

  • Edit命令。

sudo -H -u gitosis nano ./gitosis-admin/gitosis.conf

  • Commit作为gitosis用户。

sudo -H -u gitosis git commit -am "Adding $USER" ./gitosis-admin

  • Push作为gitosis用户。

sudo -H -u gitosis git push ./gitosis-admin

  • Run用户的身份对更新后的钩子执行sudo -H -u gitosis git push ./gitosis-admin

  • Run操作。

sudo -H -u gitosis GIT_DIR=$PATH $PATH/hooks/post-update

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4979170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档