Git 如何在同一数据上但在不同网络(无法连接)中使用两个存储库?

Git 如何在同一数据上但在不同网络(无法连接)中使用两个存储库?,git,multiple-repositories,Git,Multiple Repositories,我们的团队必须处理几个xtest文件。为了避免冲突并拥有历史记录,我们希望使用git。问题如下: 从星期一到星期四,大多数人(但不是所有人)将在网络内使用一些台式电脑工作 从周五到周日,大多数人(但不是所有人)将使用笔记本电脑在网络B内工作 出于安全原因,无法直接连接网络A和B,只能使用USB闪存驱动器交换数据 保留项目变更的历史至关重要 在做了一些研究并阅读了一些答案(例如)之后,我有以下计划来满足我们的要求,但我不确定它是否会成功(或者是否可以更容易地完成),我想从您那里得到一些反馈:

我们的团队必须处理几个xtest文件。为了避免冲突并拥有历史记录,我们希望使用git。问题如下:

  • 从星期一到星期四,大多数人(但不是所有人)将在网络内使用一些台式电脑工作
  • 从周五到周日,大多数人(但不是所有人)将使用笔记本电脑在网络B内工作
  • 出于安全原因,无法直接连接网络A和B,只能使用USB闪存驱动器交换数据
  • 保留项目变更的历史至关重要
在做了一些研究并阅读了一些答案(例如)之后,我有以下计划来满足我们的要求,但我不确定它是否会成功(或者是否可以更容易地完成),我想从您那里得到一些反馈:

  • 我们从网络a上的服务器上的裸存储库开始。Everbody在其台式PC上克隆此存储库,并在一个主分支上使用它(从网络a中的服务器上的存储库拉出并推送到该存储库)
  • 在第一个星期四,一个家伙(我们称他为git admin)在网络a中的本地桌面PC上创建了一个新的裸存储库,将其添加为网络a中存储库的新远程,并将所有数据推送到该本地裸存储库
  • git管理员然后将这个裸存储库放在他的usb闪存驱动器上,并将其复制到网络B中的服务器上。现在,在网络B中使用笔记本电脑工作的每个人都会克隆这个存储库并从中拉入/推送
很好,但现在我们有了两个中央存储库,可能在网络A和网络B中都有人在使用它。因此,每周至少合并一次以保持紧密联系至关重要。历史记录必须保存在两个存储库中!这是我认为有点棘手的问题:

  • 每周一,git管理员从网络B的存储库中提取最后一次,在他的笔记本电脑上启动一个新的裸存储库,将其添加为网络B存储库的新远程,并将所有数据推送到笔记本电脑上的本地裸存储库
  • 然后,他将这个裸存储库放在他的usb闪存驱动器上,并将其复制到网络A中的台式pc上。然后,首先,他从网络A中的中央存储库中获取最新信息。战后,他从网络B添加了裸存储库,作为从网络a克隆的存储库的新远程存储库,从网络a中提取,解决所有冲突,并推送到网络a中的原始远程存储库和从网络B复制的本地裸存储库
  • 现在网络A中的中央存储库是最新的。然后,他取出裸存储库,再次将其放在usb闪存驱动器上,将其放在网络B中的笔记本电脑上,将其添加为网络B存储库的新远程设备,将其拉入、合并并推送到网络B中的中央存储库
这一过程将在每周一和周四重复(反之亦然)。有什么建议可以让事情变得更简单吗?还是这样做?我不确定是否有必要使用裸存储库,是否可以将git管理员的正常最新本地存储库复制到相应的网络,并将网络A和B的中央存储库添加为新的远程存储库(取决于他在哪个网络中工作)并从中推拉


对不起,墙的文字,谢谢你的帮助

每周两次新的裸回购?天哪,

一个回购协议,带有两个遥控器(用于A和B位置)和拉-推循环,在位置之间传输

在纯DVCS风格中,每个开发人员都可以有这样的“公文包”(开发人员的本地repo有两个远程设备——位置和公文包)