如何设置"git集群"

bcx*_*bcx 5 git installation

我们正在考虑将源版本控制系统从Subversion更改为Git.我们正在推动我们当前设置的限制,并认为我们将更好地使用git.

我们一直在办公室使用主服务器,在数据中心运行镜像.镜像配置为将传入提交代理到主服务器.通过这种方式,这两台机器就像是一个单独的存储库一样运行,使我们能够在办公室时使用办公室机器,或者当我们在其他地方时使用数据中心机器.

拥有两台机器可以节省很多带宽并提高速度,这对我们来说很重要,因为我们也使用subversion作为我们的主要部署工具.

最近我们在印度收购了一家开发商,他们将使用相同的代码.由于带宽限制和延迟问题,在印度拥有镜子也非常方便.

当我们转向Git时,我们正在寻找类似的设置.如何让多个git存储库充当一个?理想情况下,我希望提交到存储库以自动传播到同一存储库的其他服务器.

Dus*_*tin 1

一般来说,延迟对您来说不会成为问题,因为您将在本地提交。您可能根本不需要做任何事情。不过,推和拉可能会变慢。如果这让您烦恼,您可以做很多事情。

我们使用github作为我们的“权威”树,但我们不会推送到那里(我们的代码审查系统会这样做),并且我们的构建者(和一些开发人员)不会从那里拉取。

每次推送到 github 都会触发一个到我的gitmirror项目的一个或多个实例的接收后挂钩,该实例会立即进行镜像获取。这些镜像通常总是在 github 大约一秒内更新。如果中央仓库发生任何事情,其他人很可能都不会注意到。