Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
多个网络/离线站点上的Git_Git_Version Control - Fatal编程技术网

多个网络/离线站点上的Git

多个网络/离线站点上的Git,git,version-control,Git,Version Control,我们是两个团队,在一个项目上工作。每个团队都在一个单独的网络上。不幸的是,由于公司规定,这两个网络均未连接到Internet,因此不允许通过Internet传输此项目的任何数据。 我们只能在他们之间不时传输文件,这是唯一的联系 我们如何维护Git回购协议,同时最小化需要在站点之间传输的数据 理想情况下,每个团队都需要能够在其网络上克隆、提交和推送一个简单的回购协议。每当我们想要同步回购协议时,我们都会在用于同步回购协议的站点之间传输某种(二进制?)差异/补丁 当前正在使用的方法: 我们有一个单一

我们是两个团队,在一个项目上工作。每个团队都在一个单独的网络上。不幸的是,由于公司规定,这两个网络均未连接到Internet,因此不允许通过Internet传输此项目的任何数据。 我们只能在他们之间不时传输文件,这是唯一的联系

我们如何维护Git回购协议,同时最小化需要在站点之间传输的数据

理想情况下,每个团队都需要能够在其网络上克隆、提交和推送一个简单的回购协议。每当我们想要同步回购协议时,我们都会在用于同步回购协议的站点之间传输某种(二进制?)差异/补丁

当前正在使用的方法: 我们有一个单一的裸Git回购,位于网络a上。团队a很高兴。每次网络B的开发人员想要同步他们的更改时,他们都会将上次与裸回购同步时的一系列数据包交给团队A,团队A正在网络A上的回购协议上应用补丁。有时,我们用网络A的回购协议副本替换网络B上的裸回购协议,以便网络B上的开发人员可以进行更改

这种方法有什么问题? 1.我们仅在站点A上有“最新”回购协议。团队B需要创建补丁并在站点A上应用它们,以便同步他们的工作。 2.我们不时地在站点之间转移整个回购协议,而不仅仅是差异(只要我们想在站点B上进行交易)。
3.站点B的开发人员并没有推进到裸repo(只为团队A创建补丁)。

显然,解决方案是在线托管Git存储库,这两个位置都可以推/拉。这是标准方式,您甚至可以使用GitHub。

,谢谢您的回答!不幸的是,由于公司规定,这两个网络均未连接到Internet,因此不允许通过Internet传输此项目的任何数据。我们只能在他们之间不时传输文件,这是唯一的联系。