在我的场景中,我必须在多个服务器上维护多个git存储库(每个存储库都有多个分支),这些服务器没有连接在一起(而且永远也不会)。
为了简化这个想法,我将两个主机识别为A和B。开发人员在A上执行工作。他们正在推动代码,创建分支等。开发人员在B上执行工作。他们正在推动代码,制造分支等。
最初,B是从A镜像而来的,所以它们开始的方式是相同的。
现在,我的任务是从A中获取代码,并将其带到B中。同样,从B到A,这将持续发生。
鉴于以下事实,我不知道如何做到这一点:
当我在A的网络上时,我不能访问B.
上创建新的分支,开发人员将把代码推入A和B.H19上的同名分支,再加上许多其他我甚至无法想象的场景:( F 110H 111可能实现PR -但当我们需要“同步”时(A和B)没有合并(在A和B上)
基本上,我的任务是两个开发团队开发相同的回购,存在于两个不同的网络和‘运动鞋网’之间的差异在不断的基础上。
最初,我研究了git clone --mirror (以及git lfs fetch -all,因为LFS正在发挥作用),然后是git push --mirror。对于初始同步来说,这很好。但它不能用于维护。
我意识到这最终将以编程的方式完成(这很好),但我甚至不确定我应该采取什么样的流程来处理这样的事情。
谢谢你的帮助。
发布于 2020-12-22 15:54:31
在我看来,这是一个可以用git bundle解决的场景。
某些工作流要求在一台机器上复制一个或多个开发分支,但这两台机器不能直接连接,因此不能使用交互式Git协议(git、ssh、http)。
显然,您需要设置一些规则(比如限制历史重写),在任何情况下,您都可以检查是否可以使用git bundle verify应用包。
https://stackoverflow.com/questions/65411522
复制相似问题