我想知道哪个是我项目的GIT管理的更好选择?
我有一个需要在软件,固件和移动应用程序上进行开发的主项目,项目结构如下所示:
+ MainApplication
+ Software (Visual Studio project)
+ Mobile (Android project)
+ Firmware (ARM project)
+ Document
那么,我是否将每个项目(软件,移动设备,固件)分成一个GIT仓库?或者我只是将所有项目都包含在一个大的GIT中?
我有下列优点和缺点:
单一GIT
多个GIT
更新1
下面有很多好的反馈,我喜欢一些方法提及,
分开GIT并将它们组合在一起
使用Git子模块
答案 0 :(得分:2)
关于"
我可以一次跟踪所有项目,而且我没有分散,更容易管理
您已经注意到了自己:使用一个存储库不会让您正确地利用标记,将历史记录区分开来会很麻烦。
在我看来,它完全相反。管理和跟踪将更加困难。
正如我所看到的,不同的存储库是最佳选择。
您有三个不同的子项目,其历史记录或多或少。如果你想以某种方式将它们分组submodules可能是要走的路,使用" main"整个项目的存储库。
这"主要"存储库还可用于跟踪 Documents 文件夹。
答案 1 :(得分:2)
我通常遵循的规则是:
这是因为在git中你不能分支或标记存储库的某些部分(例如在Subversion中) - 分支和标记总是用于整个存储库。
所以问题是:你总是把所有部分放在一起吗?或者它们是单独开发和发布的(甚至可能是不同的版本号)?
答案 2 :(得分:1)
一个git存储库中的多个项目是一个反模式。特别是当使用maven和CBI(例如Jenkins)时。当你的(子)项目使用不同的版本时,使用maven发布插件与git结合是不可能的。如果您对所有项目都有相同的版本,那么这可能表明您可以选择一个repo解决方案。但我建议不要这样做。 我们决定将一个存储库用于多个相关项目,但有充分的理由,但我再也不会这样做了。
关于子模块和其他解决方案:这取决于你对git的熟悉程度。如果git是新的,即使没有子模块,也不要低估学习曲线。
此question与您的非常相似。
答案 3 :(得分:0)
我认为,对多个GIT项目都有好处。 (不确定选择,作为上面提到的优点和缺点) 我正在考虑的原因是:将来我得到任何只需要在移动项目中进行更改的要求,然后您就不必担心其他项目的更改/分支/部署。 您可以轻松地继续更改一个项目,并为其他项目保持相同。