在git中构建相关组件

Nic*_*ion 7 git

我的团队正在考虑从大约二十多个颠覆回购转变为git回购.我们试图解决的是,目前,每个人都有自己的subversion repo为他们的每个产品组件.我想做的是尽量减少我们的蔓延,并帮助建立一条明确的前进道路.

我正在寻找关于如何构建回购的建议.一个关键点是如何对相关项目进行分组.我们有两种产品.每个产品都有一组Web服务代码(php),android客户端代码(java),iphone客户端代码(obj c),ipad代码(obj c)和网站客户端代码(php + js).目前,每个所有者的组件都在一个单独的svn仓库中.

我的想法是尝试将这些组件组合成一个回购,但我不知道这是否是git的一个好习惯.这是否比单独的回购提供任何真正的好处?由于共同的可见性,这似乎可以促进更好的社会契约,以确保检查的质量,但我们是否会以其他方式为此付出代价?

Von*_*onC 5

在一个"组件"(这里是一个Git repo)中组合不同文件集的标准是它们各自的开发生命周期(它们在标记和分支方面的演变方式):

  • 你可以在php或java模块上进行演化,而不必对其他模块(如obj c)进行任何修改吗?
  • 你能否在一个分支中找出一些只针对其中一个模块而不是其他模块进行的演变/修复?
  • 你可以在几个项目中重用其中一个模块的特定版本吗?

如果是,基于组件的方法是最好的(即每个模块一个git repo),而不是一个包含其中所有内容的repo(系统方法).
例如,请参阅" 使用git和符号链接的基于组件的Web项目目录布局 ".

一个组件代表一个"连贯的文件集",最好在自己的Git仓库中进行管理.