首页 > 解决方案 > 我们如何存储跨项目共享的文件,这些文件存储在单独的 VSTS GIT 存储库中

问题描述

我们即将从单一的 SVN 设置迁移到 VSTS 上的单个 GIT 存储库,我们在制定存储我们在许多项目中引用的代码和图像文件的最佳策略时遇到了麻烦。

我们是 GIT 的新手,所以我们希望第一次就能做到这一点!

例如,我们有一个图标库,可以根据需要在我们的许多项目中使用,因此我们具有与设置窗口等类似的外观和感觉。

我们也有相当数量的 .vb 和 .cs 文件,我们在 Visual Studio 中根据需要“添加为链接”到某些项目 - 例如,如果项目需要广泛的调试日志记录,我们将在 debug.cs 文件中添加,如果需要我们在licensing.cs 等中添加许可。

其中一些静态链接文件需要在最终程序集中而不是在单独的程序集中,因此我们不能将它们放入单个中央“AllSharedBits.DLL”

将这些文件存储在 VSTS 中的最佳方法是什么 - 我读到子模块可能是一种选择,但我是否认为我们必须手动将指向该辅助存储库的链接添加到每个项目?

标签: gitazure-devops

解决方案


  • 对于二进制文件(比如图片),最好通过Git LFS来管理。并且您的回购规模不会迅速增加,这将受益。

  • 对于您的项目引用的文件,您可以遵循多个选项:

    选项 1:将参考文件管理到与您的项目相同的 git 存储库中

    如果参考文件没有更新(不需要管理版本),并且这些文件仅用于项目,那么您可以将这些文件管理到同一个 git 存储库中。

    如果您需要管理参考文件的版本,并且它们可能被其他项目引用,那么您可以使用选项 2 或选项 3。

    选项 2:将参考文件管理到单独的 git 存储库中

    您可以将参考文件管理到不同的 git repo 中,然后将 git repo 视为迁移的 git repo 的子模块或子树。

    选项 3:将参考文件作为块状包进行管理

    或者您可以将参考文件作为块状包进行管理,然后为您的项目添加相关包。


推荐阅读