8

我有许多共享一些通用代码的单独项目。在 Git,特别是 SmartGit 中实现这一点的最佳实践是什么?

  • 将所有东西都放在一个巨大的存储库中

  • 每个项目都有一个存储库,共享代码的存储库,并使用Git 子模块

  • 每个项目都有一个存储库,共享代码的存储库,并使用Git Subtrees。谁能告诉我这是否受 SmartGit 支持,以及如何实现?

这些方法的潜在缺陷是什么,SmartGit 的最佳实践是什么?

4

2 回答 2

6

我建议为所有项目使用一个存储库或使用子模块:

  • 如果您的公共代码与您的项目紧密联系在一起,那么您的公共代码的重构和其他类型的 (API) 更改可能需要在您的所有项目中进行更改,因此如果您可以在一个存储库中通过一次提交完成所有事情,您将花更少的时间进行版本控制(使用 Git)。例如,Git子模块不能简单地指向分支的 HEAD,而只能指向特定的提交。总是将子模块更新到最新的提交会很麻烦。

  • 如果您的通用代码更像是一个独立的库,并且不时使用该库的较新版本更新您的项目就足够了,那么子模块将是更好的选择。SmartGit 很好地支持它们,并且拥有单独的存储库使您可以灵活地在以后与其他人共享您的一些存储库。

  • SmartGit中没有对子的特殊支持。

于 2011-11-17T17:23:43.767 回答
1

我也会使用单独的项目。我们遇到了较大文件和 git + SmartGit 的内存问题。我目前正在与 syntevo 进行对话。使用最新版本的 SmartGit,复制评论的能力非常有用。希望这可以帮助

于 2011-11-18T18:03:57.097 回答