我正在做一个项目来申请Git作为新的 SCM 解决方案。我了解 Git 的一些原理,但我对这项技术没有什么经验。
为了减少网络流量,在局域网中拥有远程存储库的单个副本似乎是合理的,而不是每次开发人员需要访问新内容时总是离开网络。
因此我想知道在开发人员和 Git 中央实例之间是否有任何 Git 中介服务可以充当“门面”服务器或复制服务。
问题
- Git 有那种功能吗?是否有执行此操作的插件?
- 如果存在这样的功能,使用它的常见陷阱是什么?
- 您对增加这一层复杂性有何看法?这是个好主意吗?
- 如果 Git 不支持它开箱即用,还有哪些其他替代方案可以实现这一点?
下图有助于说明我的观点。 “假设的 Git 复制”是复制服务的名称,我不知道它是否存在。
如果需要更多信息,请询问,以便我可以正确更新我的问题。
最佳答案
是的,确实如此,或者更确切地说,有一个系统可以做到这一点:Gerrit , 和 Gerrit replication plugin
如果您的 LAN 包含 Gerrit 管理的存储库,则该存储库可以复制到一个或多个远程存储库。
我之所以知道那个插件是因为 Episode 30 of GitMinutes ,其中详细说明了 [in]famous force push of 186 Jenkins repositories to GitHub (参见“Use the force, Lucas”)。
当时(2013 年 11 月),该插件的默认设置是强制推送 (git push --f
)。那真的不安全;)
关于git - Git 服务器与用户之间的复制服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24515488/