团队之间共享的库的单个或多个Git存储库

时间:2010-02-28 17:11:28

标签: svn git version-control

我正在研究如何/如果我应该从svn切换到git。

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

在svn中如果我们希望允许其他团队使用库C而不涉及X,Y,Z那么它很简单,他们只是检查svn树的C位,如果这导致他们想要修补B,然后同上。他们从不接触X,Y,Z,即使他们在同一个实际的回购中。用git发生的事情并不那么明显。

如果我想使用git设置一些东西,你会建议我如何设置它以及你建议的设置有什么好处/下行。

我正在寻找的功能是:

  1. 简单标记(如果可能),因此可以轻松标记整个代码库的状态(使用常见的svn root或单个git repo简单)
  2. 其他人可以轻松集成/重用公共库A-D
  3. 很容易让他们回复我们可以选择采取或忽略的建议修补程序/补丁(我想从git中获取的主要内容之一)。
  4. 团队可以为共享库提供有效的私有功能(因此他们可以标记这些功能并在自己的时间轴上自行修复)
  5. Git似乎提供了我想要的东西,我只是不确定如何处理单个与多个回购问题。

1 个答案:

答案 0 :(得分:2)

  

如果我想设置一些东西   git,你会建议我如何设置它   [...]

只需使用多个git存储库(它们非常便宜,它们类似于许多小船而不是泰坦尼克号 - 换句话说,我发现它们很灵活,我喜欢灵活性。)

偶尔我会协助一个像这样结构的项目

foo/server
foo/client
foo/docs
foo/tools/

“服务器”,“客户端”,“文档”以及“工具”中的每个文件夹都是单独的git存储库。这允许专业团队成员克隆并正确处理他们希望工作的内容。

更不用说,如果我们只想提取所有内容,我们可以克隆foo(其余部分作为子模块)。

git允许你这样做很棒,为什么不利用它呢?

  

[...]什么是   建议的上行/下行   设置。

我的建议可能实施起来有点复杂。