我正在考虑是否应该从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设置一些东西,你会建议我如何设置,并提供你所建议设置的优缺点。
我需要的功能包括:
- 简单的标记(如果可能),以便轻松地对整个代码库进行标记(在具有公共svn根或单个git存储库的情况下非常简单)
- 方便他人集成/重用公共库A-D
- 他们可以轻松地向我们提供建议的修复/补丁,我们可以选择接受或忽略(这是我想从git中获得的主要内容之一)。
- 团队可以为共享库拥有有效的私有所有权功能(因此他们可以在自己的时间轴上对其进行标记和修复)
Git似乎提供了我所需要的,只是我不确定如何处理单个与多个存储库问题。