一个git回购中的多个项目?
我目前是一名SVN用户,正在考虑将我的项目转移到git 我使用一个SVN存储库来保存我创建的所有项目。我的结构是这样的:一个git回购中的多个项目?,git,svn,Git,Svn,我目前是一名SVN用户,正在考虑将我的项目转移到git 我使用一个SVN存储库来保存我创建的所有项目。我的结构是这样的: / /group1 /subgroup1 /project1 /branches ... /tags ... /trunk
/
/group1
/subgroup1
/project1
/branches
...
/tags
...
/trunk
...
/project2
...
/subgroup2
/project3
...
/project4
...
/group2
/subgroup3
...
/subgroup4
...
/lib
/lib1
/lib2
/lib3
如您所见,我将项目分组保存,并且/lib
包含项目之间共享的库
我选择这种排序结构是因为:
svnserve
作为服务/守护进程运行在我的机器上,所有项目都托管在它上面(我不喜欢filepath方法)svnserve
git等价物为它们提供服务(最好以类似的方式分组)*)我读过关于git的书,我明白这一点,但我想和有经验的人再核实一下。在git中,最好将每个项目放在自己的repo中,如果需要,将库放在另一个repo中,并在每个项目中用作子模块(相当于svn外部) 这是因为在Git中,repo是一个比SVN轻得多的概念,而且更重要的是,在repo中无法单独克隆单个文件夹(不要与稀疏签出混淆),就像您能够在SVN中签出和处理单个文件夹一样。因此,如果您在一个回购协议中拥有所有项目,则必须将它们全部克隆 使用智能http、Git守护进程和ssh服务Git repos非常简单。还有一种方法用于管理多个回购协议(包括授权和身份验证)。阅读有关提供Git回购的ProGit的链接章节- 在分组方面,您可以根据分组结构将repo放入文件夹中,并使用智能http方法提供服务,例如,repo URL将看起来像您与SVN一起使用的URL,所有项目看起来都在分组之下等等。您可以将所有项目放在一个存储库中,但这真的是个坏主意,因为你总是要处理整个回购协议
要运行git服务器,如果您只需要一个用户(您),安装git和ssh访问的服务器就足够了。例如,请参见。除了其他答案之外,您还可以使用链接将多个git回购链接在一起。我可能会去买这本书,以便更了解git。我只是想知道,让我的SVN repo作为主repo,并使用git进行本地源代码控制,对我来说是否更有意义?我倾向于在多台机器上工作,所以我认为这是有道理的。@Michal M是的,很多人都是用git svn桥接器来完成的。实际上,这样做并不是一个坏的选择