如何最好地与SmartGit共享代码

Eri*_*ric 8 git version-control smartgit

我有许多共享一些共同代码的独立项目.在Git中实现这一目标的最佳实践是什么,特别是SmartGit?

  • 把所有东西放在一个巨大的存储

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

  • 拥有每个项目的存储库和共享代码的存储库,并使用Git子树.任何人都可以告诉我SmartGit是否支持它,以及如何实现它?

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

mst*_*rap 6

我建议要么为所有项目都有一个存储库,要么使用子模块:

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

  • 如果您的公共代码更像是一个独立的库,并且使用该库的较新版本不时更新您的项目,则Submodules将是更好的选择.它们得到了SmartGit的良好支持,并且拥有单独的存储库使您可以灵活地与其他存储库共享一些存储库.

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