我们正在考虑将源版本控制系统从Subversion更改为Git。我们正在推动我们当前设置的限制,并认为我们将更好地使用git。
我们一直在办公室使用主服务器,在数据中心运行镜像。镜像配置为将传入提交代理到主服务器。这样两台机器就像是一个单独的存储库一样运行,使我们在办公室时可以使用办公室机器,或者当我们在其他地方时,可以使用数据中心机器。
拥有两台机器可以为我们节省大量带宽并提高速度,这对我们来说很重要,因为我们也使用subversion作为我们的主要部署工具。
最近我们在印度收购了一家开发商店,他们将使用相同的代码。由于带宽限制和延迟问题,在印度拥有镜子也非常方便。
当我们转向Git时,我们正在寻找类似的设置。如何让多个git存储库充当一个?理想情况下,我希望提交到存储库以自动传播到同一存储库的其他服务器。
答案 0 :(得分:1)
延迟对您来说不是一个问题,因为您将在本地提交。您可能根本不需要做任何事情。但是,推拉可能会变慢。如果这让你烦恼,那么你可以做很多事情。
我们使用github作为我们的“权威”树,但我们不推动(我们的code review system会这样做)我们的构建者(以及一些开发人员)不会从那里开始。
每次推送到github都会向post-receive hook项目的一个或多个实例发出gitmirror,该实例会立即进行镜像提取。这些镜像通常总是在github的大约一秒内更新。如果中央回购发生任何事情,很可能其他人甚至都不会注意到它。