2014-12-03 24 views
1

我有一个场景。我有两个实例,Gerrit的实例1和Git的实例2。我想了解git如何拦截直接来到实例2的请求?
可以安全地假设我必须远程安装gerrit,而不是git实例。
在不同的机器上安装Gerrit和git

当初始化格里特,交互CLI屏幕询问这应该是本地(?)的目录,例如/ home/ME /混帐回购(GIT回购里面我有我的项目的git仓库位置.git文件)。如果不是本地存储库,我指定一个远程存储库URI,比如说ssh://[email protected]/root/project.git,首先它会起作用吗?如果是的话,它是如何拦截所有推送,拉...请求到ssh://[email protected]/root/?

+0

重复的http://stackoverflow.com/questions/26760661/how-to-setup-gitolite-and-gerrit-on-separate-ubuntu-servers/26774084。 – 2014-12-03 09:13:34

+0

感谢您的链接Magnus。然而,事情是,我希望gerrit只“关照”远程文件夹中的一个存储库(许多存储库)。一种方法是在所有其他存储库上提供完整的权限(如果我们这样做,每个人都需要在本地设置git-review,这是我们不想要的)。我们只需要一组特定的人(在特定存储库上工作)使用gerrit。当所有人都不会使用gerrit的服务时,为什么要打扰他们。 – 2014-12-03 09:28:16

+0

不,您的用户不必设置git-review。 Gerrit的评论功能是可选的,您可以将其用作通用Git托管软件,例如Gitolite。没有人会因为转向Gerrit而烦恼(除了迁移本身)。 – 2014-12-03 09:51:10

回答

1

这是可能的。首先明白,gerrit将作为远程git的分期工作场所。这意味着当用户提交补丁集时,首先需要进入Gerrrit的git工作区。通常$ GERRIT_HOME/git /。现在需要启用复制,以便将此repo同步到远程git服务器,最终他们想要提交代码。在复制设置和Git项目设置一些有用的链接可以在这里找到:

https://review.typo3.org/plugins/replication/Documentation/config.html

Importing already existing git repo with multiple branches and tags into gerrit

样品replication.config它可以帮助你:

[remote "github-remote-name"] 
    url = [email protected]<remote-git-server>/${name}.git 

记住,这$ {name}是一个魔术关键字,需要与您要同步的回购相匹配。为了同步您可能拥有的许多选择性回购,请按照上述链接中的指导进行操作。

希望这会有所帮助。

+0

感谢您的帮助。但是,我注意到您提到$ {name}关键字可以帮助我将gerrit与任何“特定”存储库保持同步。我有一个小的跟进,有没有办法在本地实现相同的结果?我的意思是,我希望只在特定的存储库(如product.git)上执行gerrit-review,而不在utilities.git上执行,这两者都可能存在于同一个文件夹中。一种方法是授予所有用户公用程序的完全权限,这可以绕过规则来实现结果。有没有直接的方法呢?提前致谢。 – 2014-12-12 06:58:10

相关问题