9

嗨,我有一个应用程序,它有几个不同的应用程序,它们是:

  1. “客户端服务器”应用程序 (java)
  2. “许可证服务器”应用程序(java)(我正在使用 git 将此应用程序部署到 heroku)
  3. “自动更新应用程序”(java)
  4. “客户端应用程序”(objective-c)

我所知道的关于 git 的只是标准的提交命令和类似的东西,而且我有一个拥有 5 个私有存储库的 github 成员。所以我想知道在此使用 git 的最佳方法是什么?可能的答案是:

  1. 创建一个 git repo 并将这些单独的项目放在“分支”中?
  2. 创建一个 git repo 并将这些项目放在单独的文件夹中?
  3. 只是将它们放入不同的 git 存储库中?

谢谢回答。

4

3 回答 3

9

我会根据是否直接从 Git 部署应用程序来做出决定。我会考虑选项 2) 和 3) 的组合——当它被部署到 Heroku 时,我肯定会将许可证服务器应用程序放入它自己的存储库中。我对 Heroku 部署不太熟悉,但它很可能会部署特定分支中的所有内容,因此如果您将所有应用程序添加到同一个 repo 中的文件夹中,那么它们将一起部署到 Heroku。那可能不是你想要的。

如果不同的开发人员/团队在不同的应用程序上工作,他们会发现如果应用程序位于他们自己的单独存储库中会更容易。

忘记 1) - 分支只是指向提交的指针,所以不要将不同的项目添加到不同的分支。

于 2013-03-19T08:47:30.623 回答
6
  1. 创建一个 git repo 并将这些单独的项目放在“分支”中?
  2. 创建一个 git repo 并将这些项目放在单独的文件夹中?
  3. 只是将它们放入不同的 git 存储库中?

我会去2。。

根据您的各种应用程序/项目的大小,或者它们的独立程度,您可能会考虑3,但它可能会增加太多开销。即使是大型存储库也可以由 git 非常有效地处理。单个存储库还使发布过程更容易,因为您可以将应用程序作为一个整体进行标记/分支,而无需在不同的存储库上进行。

选项1不是要走的路——您通常使用分支来进行功能开发、错误修复和管理发布。另请参阅一个成功的 Git 分支模型


基于评论和其他答案,如果我进一步考虑,它主要取决于项目之间的依赖关系。对于客户端和服务器应用程序,我肯定会选择2,并且很可能还包括自动更新应用程序。

正如其他人所写,如果许可证服务器真的是独立的(那么许可证服务器的客户端部分呢?),为这部分使用单独的存储库可能是正确的解决方案。我的看法是,使用多个存储库可能会使发布过程和设置开发人员环境的过程复杂化。最后,解决方案可能真的是2.3.之间的正确平衡,这取决于项目的依赖程度或独立程度。

于 2013-03-19T08:46:10.133 回答
2

这里的拙见:

  1. 将这些东西放在分支中肯定是错误的,git中的代码分支总是代表“相同”代码库的不同状态
  2. 我也不会这样做,但如果两个服务器和两个应用程序足够相互依赖,那么将它们放在同一个存储库中可能是个好主意,那将是我的最爱
  3. 如果这 4 个应用程序足够不相交,那就是要走的路。
于 2013-03-19T08:43:08.857 回答