我正在尝试在共享的托管帐户上设置一个Git存储库,我和一个朋友都可以访问它。我通过将这一行添加到~/.ssh/authorized_-keys成功地在Subversion存储库中完成了此操作:
command="/usr/bin/svnserve -t -r /path/to/svn/repo \
--tunnel-user=myfriend",no-port-forwarding,no-agent-forwarding,\
no-X11-forwarding,no-pty [ssh key]
到目前为止,我已经了解到Git shell是Git的SVNServer等价物,但似乎没有一个等效的-r选项来限制对特定路径的访问。这是个问题,因为我不希望我的朋友访问其他Git存储库。
我读过一些关于Gitosis的文章,它似乎可以做我想做的事情,但是我想在尝试设置另一个软件来完成这一特定需求之前看看是否有一个更简单的解决方案。事先谢谢!
编辑:我发现这篇文章提供了一个脚本:
http://eagain.net/blog/2007/03/22/howto-host-git.html
但事实上,它是同一个人写的,后来写了gitosis,并被标记为过时。在我的情况下,Gitosi似乎不可能实现,因为它需要创建一个专用的Unix用户,而我不能使用共享的托管帐户。不过,如果我误解了其中的任何一点,我希望被证明是错误的!