我有两个关于Gerrit的问题:
如何将已存在的Git存储库转换或导入Gerrit的格式?有很多没有Gerrit控件的提交,我想简单地将这些提交推送到Gerrit项目中.
我认为有两种方法可以做到:
将现有的裸Git目录复制到Gerrit,然后将其添加到数据库.这是一种安全的方法吗?
将所有提交从我的本地存储库推送到gerrit存储库.
如何将存储库从Gerrit还原为原始的Git格式?是否需要删除Gerrit的特殊*/for/*分支来执行此操作?
hel*_*ert 29
首先:没有特殊的"Gerrit格式".Gerrit使用常规git存储库.
在Gerrit中创建一个新项目(没有初始提交).将创建的存储库作为远程添加到现有存储库并简单地推送.您可以配置Gerrit以允许直接推入存储库(绕过审查),允许您导入整个存储库.
或者,如果您可以直接访问Gerrit的存储库位置(例如,通过SSH或本地文件系统),您可以直接进入存储库(Gerrit创建它),完全绕过Gerrit.然而,您需要在之后刷新Gerrit缓存,以便Gerrit注意到存储库HEAD已更新.
如上所述,没有"Gerrit格式".只需从gerrit克隆你的存储库,一切都很好.您无需担心任何特殊分支.
小智 8
我将许多GIT项目导入到gerrit中,我发现最简单的方法是将git存储库的xy.git目录复制到gerrit存放git存储库的目录中.重新启动gerrit进程后,新项目将出现在新项目列表中,您可以编辑描述和访问权限.
只需在Gerrit中创建新项目,然后在那里推送git存储库.如果您想绕过评论,请直接推送到master而不是refs/for/master.您需要添加权限才能自行完成此操作.
我认为错误消息可能是由于您尚未将您的ssh密钥导入Gerrit而引起的.
只需从Gerrit克隆存储库.它不包括任何额外的分支.