在具有ssh访问权限的服务器上设置git存储库

按照link中的说明,我设法在uni的服务器上的$HOME上创建了一个存储库.我使用SSH克隆/拉/推到服务器上的这个存储库.

我的问题是:是否可以授予其他人访问以从此存储库克隆/推/拉?显然我在服务器端没有root权限.此外,我不想把它作为一个公共存储库…我想知道谁克隆并推动这个.

我可以在帐户的网络存储部分执行类似的操作吗?我的wesite存储在哪里,然后使用像htaccess这样的东西来管理访问?

最佳答案
您可以在存储库上设置POSIX ACL,以允许更多用户访问它.但这并不能保证有人作为另一个用户提交/它配置/ …非常麻烦

相反,我建议你使用gitolite:https://github.com/sitaramc/gitolite.

它的工作方式非常类似于github上的pull / push机制:一个ssh用户,一个自定义shell,根据用于登录的ssh密钥对用户进行身份验证.

如果你想要更复杂的东西(像github一样,web UI提供很多功能),看看gitlab(http://gitlabhq.org/)或gitorious(http://getgitorious.com/).

更新

为了能够像安装gitolite的用户一样在服务器上正常登录:

>创建一个新的SSH密钥,并将其保留为工作站上的〜/ .ssh / id_rsa-git_admin
>将其添加为计算机上〜/ .ssh / authorized_keys文件中的第一个键
>安装gitolite并确保密钥仍然存在(在注销前等待)
>从另一个终端,运行一个git clone git @ yourhost:gitolite-admin,并确保它有效.
>从另一个终端,尝试使用ssh -i~ / .ssh / id_rsa-git_admin git @ yourhost登录计算机

如果最后两个步骤没问题,那么您的安装就可以了.

转载注明原文:在具有ssh访问权限的服务器上设置git存储库 - 代码日志