团队间共享库使用单个或多个Git仓库?

8

我正在考虑是否应该从svn转换到git。

目前,我的svn中有一组多层项目,这些项目是分层的,D使用C,C使用B,B使用A。实际部署的项目(如X、Y、Z)使用任何公共库A-D。我们的目标是让未来的项目和其他团队分享基础库(A-D),并实现更好的分支控制。

在svn中,如果我们希望允许其他团队使用库C而不涉及X、Y、Z,则很简单,他们只需检出svn树的C部分,如果这导致他们想要修补B,则同样如此。即使它们位于同一个实际仓库中,他们也永远不会触及X、Y、Z。但在git中,情况并不那么明显。

如果我想使用git设置一些东西,你会建议我如何设置,并提供你所建议设置的优缺点。

我需要的功能包括:

  1. 简单的标记(如果可能),以便轻松地对整个代码库进行标记(在具有公共svn根或单个git存储库的情况下非常简单)
  2. 方便他人集成/重用公共库A-D
  3. 他们可以轻松地向我们提供建议的修复/补丁,我们可以选择接受或忽略(这是我想从git中获得的主要内容之一)。
  4. 团队可以为共享库拥有有效的私有所有权功能(因此他们可以在自己的时间轴上对其进行标记和修复)

Git似乎提供了我所需要的,只是我不确定如何处理单个与多个存储库问题。

1个回答

2
如果我想使用git设置一些东西,你会建议我如何设置?
只需使用多个git存储库(它们非常便宜,类似于许多小船而不是泰坦尼克号 - 换句话说,它们很灵活,我喜欢灵活性)。
现在和以前,我会协助一个这样结构的项目。
foo/server
foo/client
foo/docs
foo/tools/

“服务器”、“客户端”、“文档”以及“工具”文件夹中的每个内容都是单独的git存储库。这使得专业团队成员可以克隆并仅处理他们想要处理的内容。
此外,如果我们只想拉取所有内容,我们可以克隆foo(它会将其余内容作为子模块一起拉取)。
Git允许您这样做真是太棒了,那么为什么不好好利用呢?

...你建议的设置有什么好处/坏处。

我的建议可能稍微复杂一些,实施起来可能需要花费一些时间。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接