我们即将从单一的 SVN 设置迁移到 VSTS 上的单独 GIT 存储库,但我们在制定存储我们在许多项目中引用的代码和图像文件的最佳策略时遇到了困难。
我们是 GIT 新手,所以我们希望第一次就做好!
例如,我们有一个图标库,根据需要在许多项目中使用,因此我们具有与设置窗口等类似的外观和感觉。
我们还有相当数量的 .vb 和 .cs 文件,我们根据需要在 Visual Studio 中“添加为链接”到某些项目 - 例如,如果项目需要大量调试日志记录,我们会添加到 debug.cs 文件中,如果需要许可,我们在licensing.cs等中添加。
其中几个静态链接文件需要位于最终程序集中,而不是单独的程序集中,因此我们不能将它们放入单个中央“AllSharedBits.DLL”中
在 VSTS 中存储这些文件的最佳方法是什么 - 我读到子模块可能是一个选项,但我的想法是否正确,然后我们必须手动向每个项目添加到该辅助存储库的链接?
对于二进制文件(比如图片),你最好通过Git LFS来管理它们。并且随着您的回购规模不会快速增加,它将受益。
对于您的项目引用的文件,您可以遵循多个选项:
选项 1:将参考文件管理到与您的项目相同的 git 存储库中
如果参考文件没有更新(不需要管理版本),并且这些文件仅用于项目,那么您可以将这些文件管理到同一个git repo中。
如果您需要管理参考文件的版本,并且它们可能被其他项目引用,那么您可以使用选项2或选项3。
选项 2:将参考文件管理到单独的 git 存储库中
您可以将参考文件管理到不同的 git 存储库中,然后将 git 存储库视为迁移的 git 存储库的子模块或子树。
选项 3:将参考文件作为 nuget 包进行管理
或者您可以将参考文件作为nuget包进行管理,然后为您的项目添加相关包。