繁体   English   中英

两个相同的git仓库

[英]Two identical git repositories

我们正在大型团队中使用git作为项目的源代码。 现在,大约有一半的开发人员正在离开项目的现场阶段。 这个阶段将涉及大量的开发,即许多提交。 同时,剩下的另一半也将继续处理该代码。

不幸的是,现场将只有间歇性和不可靠的互联网连接。 然而,至关重要的是,现场团队能够在另一个团队之间同步(提交/推动/拉动)他们的更改。 但是至关重要的是,办公室中其他团队可以在“中央” git存储库中进行更改。

因此,我正在寻找一种设置,该设置将允许现场团队使用git高效地工作,即使Internet断开时间很长,也可以在Internet可用时与办公室进行同步。

有一种简单而又简单的方法吗?

我的第一个想法:带着一本上网本作为“服务器”,并拥有该存储库的裸露克隆。 然后,让现场团队将其原产地更改为上网本,然后从上网本中拔出。 但是与主存储库的同步给我带来了一些麻烦。 在上网本上执行git push效果很好,但是git fetch不会返回我在主存储库上所做的更改。 另外,我担心如果两个存储库中的文件都发生更改并且发生冲突,会发生什么情况-我想有人需要在上网本上进行工作以解决冲突并提交同步,然后才能进行同步?

您的设置应该可以正常工作,所以我不确定获取该怎么回事。 但是,当涉及从公司的中央仓库获取信息并解决冲突时,则应在本地进行 :每当互联网连接建立时,一名开发人员就可以从中央仓库获取信息,在自己的计算机上合并和解决冲突,并推动结果到中央仓库和现场仓库。 我相信永远不要直接在用作服务器的存储库上工作(如果它是裸存储库(应该是裸存储库,则由于没有工作副本,因此不能直接在其上工作))。 这也使您不必在现场服务器上设置开发环境。

此外,现场开发人员不应将origin替换为现场资源库; 相反,他们应该使用git remote add添加一个新的远程服务器,并将其命名为例如onsite 然后,每当要执行pullpushfetch ,就可以选择使用公司的中央回购还是现场回购。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM