2011-04-26 87 views
7

我有以下情况:git仓库结构,多个模块

  1. 有4-5个不同的软件模块更大的软件项目的一部分。
  2. 所有这些都设置为单独的git回购。
  3. 当我提交了一个功能,通常它跨越多个单一的模块 - 从而使例如2或3提交每个模块。

给我一个更大的项目的多个模块的一部分的想法。你更喜欢使用git submodules,如果是的话,以什么方式?或者你使用一个主文件夹中的项目,如:

Software_Project
      Module_1
      Module_2
      Module_3
      Module_4

任何想法一个合适的git回购结构是w迎阅读。

+0

+1一个很好写的问题! – ralphtheninja 2011-04-26 19:18:42

+0

*“当我提交一个功能时,通常它不仅仅是一个单独的模块”* - 这听起来对我来说是错误的。通常子模块意味着独立于父存储库。 – poke 2011-04-26 20:03:15

回答

5

由于您提到的功能通常会跨越多个模块,因此我会将所有内容放在同一个git存储库中,除非它是真正的正交模块,并且完全独立于项目的其余部分,而不是一个子模块可能是合适的。你会很高兴有可能以git被使用的方式提交功能。在几个git仓库中多次提交?不,我宁愿让代码靠得更近。那么,这是一个像其他一切的交易。

+0

我想我将会朝着单个文件夹的方向移动内部的模块。类似于Assembla git repo结构。代码应该更接近一起,每个功能一次提交,而不是针对不同模块中的相同功能提交4次提交。 – 2011-04-26 22:07:49

+0

这就是要走的路,它有助于增强自信心,并使恢复更改变得更容易。想象一下,试图在所有回购站上手动执行此操作。回到CVS时间! *不寒而栗*:D – ralphtheninja 2011-04-26 22:17:42

1

Google开发了一个名为Repo(显然是the website has moved)的Android开发脚本,可以让git更容易使用。其主要目的是更容易管理多个存储库。

+0

我会检查它,虽然我不确定这是我需要的。 – 2011-04-26 19:55:44

+0

链接已损坏! – 2016-01-20 05:15:46