Gerrit:使用现有的git repos

时间:2014-01-28 17:03:55

标签: git gerrit

我想将gerrit引入我的软开发环境。问题是我已经有了git repos ... 通过执行以下命令,我能够安装gerrit并获得已存在的repos的副本:git clone --mirror ssh://some_machine/path/to/favourite/project.git project.git

但现在,我需要将更改同步回原始回购。有没有办法做到这一点,或者我是否需要完全移动到由gerrit处理的新回购并阻止已经存在的git回购,以便开发人员无法检查其中的内容?

对不起,格里特很新......

1 个答案:

答案 0 :(得分:0)

运行两个并行存储库,人们提交代码是很痛苦的,因为有人需要让它们保持同步。只要Gerrit实例用于游戏并且没有真正的提交就可以了,但是如果人们在那里做真正的工作,你应该决定你想去的地方。

要协调两个已分歧的存储库,请克隆其中一个gits,将另一个存储库添加为新的远程数据库,从分支的顶端进行合并,然后再推回。以下示例显示如何将分支 branchname 从gerrit.example.com复制到git.example.com。

$ git clone ssh://git.example.com/some/project
$ cd project
$ git remote add gerrit ssh://gerrit.example.com/some/project
$ git fetch gerrit
$ git checkout origin/branchname
$ git merge gerrit/branchname
$ git push origin HEAD:branchname

您显然必须解决因合并而导致的任何冲突。根据需要重复其他分支。

该示例将在分离的头上创建合并提交。如果您愿意,可以先创建一个命名分支并合并到其中。