我是Gitolite的新手并且很难在其中管理回购。我们的git服务器和200多个用户拥有1000多个存储库。当我们运行ssh git @ hostname时它看起来很乱,它给了我这些存储库的下拉列表,具有写访问权和读访问权。
当我想克隆'y'回购时,我运行命令; git clone git @ hostname:x / y
但是如果想在'y'下克隆文件夹'z' git clone git @ hostname:x / y / z ----它给了我以下错误
/home/123456/z/.git/中初始化的空Git存储库 R访问x / y / z DENIED到vb-ubuntu-32 (或者在给定路径上可能没有存储库。你拼写正确吗?) 致命:远程端意外挂断
我不想继续在同一个文件夹下创建单独的repos,例如'z'。
有什么方法可以只克隆回购的内容吗?
我的回购清单变得越来越大,同样的多个回购如下 x / y的 X / Y / Z X / Y / F X / Y / F / G
我不知道我的gitolite设置是否配置不正确。
感谢您的支持。
答案 0 :(得分:1)
接近您所寻找的主要gitolite功能称为 namespaces :
在许多项目中,开发人员需要将他们的工作推向某个中心位置以供其他人获取 命名空间允许您为每个开发人员提供看起来像她自己的repo或repos集合,同时将所有这些逻辑repos组合到服务器上的一个物理仓库中。如果它们共享许多共同历史记录,则可以节省大量磁盘空间。
它将repo(x/y/z
)的名称空间路径与服务器上较少的回购组合在一起
(尽管仔细阅读其文档)
但即便如此,y
也不能成为回复,Chronial mentions。
我想知道是否有办法从特定仓库中的git服务器(使用gitolite)克隆文件夹或文件。与
x/y
和z
一样,y
内的文件夹也是如此 如何仅为该存储库克隆z
?
你可以在另一个(嵌套的回购)中克隆一个回购,但官方的方法是使用 git submodules