我在我的公司设置了一个gitolite服务器:工作得很好,但我用来管理它的大部分时间都在于删除错误创建的存储库。
实际上,用户可以使用 wild repo 的概念访问项目根目录,在该目录中他们可以为其项目创建存储库:
您无需为创建此类回购做任何特别的事情;只是克隆它就像它已经存在一样,它将会存在。
(http://www.linuxforu.com/2011/01/gitolite-specify-complex-access-controls-git-server/)
我更希望克隆和创建是否映射到两个不同的命令,以避免这种无意的回购创建 是否有最佳实践来实现这样的工作流程?
答案 0 :(得分:2)
我更喜欢克隆和创建是否映射到两个不同的命令
当您考虑克隆回购的唯一方法是首先存在该回购时,这似乎不可能。
这意味着用户将克隆由Gitolite在后台创建的仓库(因为wild repo directive)
但是,考虑到 Gitolite commands (Stefan Näwe详细信息in the comments),管理员应该很容易删除回购:
# move it into the trashcan (can be restored)
ssh git@host D trash repo
# Or, to really delete it
ssh git@host D unlock repo
ssh git@host D rm repo
如果有什么可以设置一些cron作业来监视每个存储库内容,并且看到其中的特定文件(例如' TO_DELETE
')将删除回购。
您可以添加其他条件,以防止删除合法的回购(即具有大量提交和最近活动的回购)。
这样,所有用户都必须删除他/她刚创建的回购将添加' TO_DELETE
'文件,提交和推送。
答案 1 :(得分:1)
感谢Stefan Näwe提及让我走上正确轨道的no-auto-creat
首页
检查gitolite changelog后,似乎自{v3.3}以来create
命令确实存在(但需要明确激活)。
升级我的gitolite安装并结合这两个功能似乎是解决方案。