git - 将存储库从 git 导入到 gerrit

标签 git gerrit

我有两个关于 Gerrit 的问题:

  1. 如何将现有的 Git 存储库转换或导入为 Gerrit 格式?有很多提交不受 Gerrit 控制,我只想将这些提交推送到 Gerrit 项目中。

    我看到了两种方法:

    1. 将现有的裸 Git 目录复制到 Gerrit,然后将其添加到数据库。这是一种安全的方法吗?

    2. 将所有提交从我的本地存储库推送到 gerrit 存储库。

  2. 如何将存储库从 Gerrit 恢复为原始 Git 格式?是否需要删除 Gerrit 的特殊 */for/* 分支才能做到这一点? p>

最佳答案

首先:没有特殊的“Gerrit 格式”。 Gerrit 使用常规 git 存储库。

  1. 在 Gerrit 中创建一个新项目(无需初始提交)。将创建的存储库作为远程添加到现有存储库并简单地推送。您可以配置 Gerrit 以允许直接推送到存储库(绕过审查),从而允许您导入整个存储库。

    或者,如果您可以直接访问 Gerrit 的存储库位置(例如通过 SSH 或在本地文件系统上),您可以直接推送到存储库(Gerrit 创建它的任何位置),完全绕过 Gerrit。但是,之后您需要刷新 Gerrit 缓存,以便 Gerrit 注意到存储库 HEAD 已更新。

  2. 如前所述,没有“Gerrit 格式”。只需从 gerrit 克隆您的存储库,一切都很好。您无需担心任何特殊分支。

关于git - 将存储库从 git 导入到 gerrit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14789666/

相关文章:

git - 如何在 Gerrit 中识别 "unused"存储库?

git - Jenkins 无法获取changeId 和revisionId

git - Gerrit: push 代码审查已在 Gerrit 上的提交

git - 在没有 refspec 参数的情况下运行 git push、pull 和 fetch

javascript - 将现有项目重构为新的 vue-cli 创建的项目时如何保留 Git 提交历史记录?

git - 在 VS Code(或其他 difftools)中一次查看所有 Git 差异

workflow - Gerrit 工作流程 - 将单个提交推送到主题分支

java - gerrit 和 OpenID_SSO

git - 将未提交的更改移动到新分支 : git: stash vs checkout

git - 在虚拟机中开发时如何管理代码库(vagrant)