【问题标题】:Git-Submodule dependencies vs. Visual Studio dependenciesGit-Submodule 依赖项与 Visual Studio 依赖项
【发布时间】:2021-12-27 17:39:20
【问题描述】:

我确实有以下呼吸依赖:

使用 clonging Repo 1 recursivly (git clone --recurse-submodules -j8 {repo-path}) 的子模块会将以下文件夹结构添加到我的驱动器中:

当然,我在其他地方有一个Repo 2 的克隆,我用来在Repo 2 中开发项目。 因此,在 Visual Studios 中打开 Repo 2 内的项目,我将有一个包含 Repo 2Repo 4 两个项目的解决方案,而 Repo 2 将从 Repo 4 获得分配给项目的依赖项。

Repo 3 中的项目上开发的解决方案也是如此,它也依赖于Repo 4 中的项目。

当我为“应用程序”项目(即Repo 4)设置 Visual Studio 解决方案时,我必须将每个存储库中的所有项目添加一次(只需一次,因为 IDE 显然不会两次使用相同的项目,到目前为止很清楚)。这意味着将仅添加 3 个可能的 Repo 4 项目中的 1 个(所以让我们选择 Repo 1 附带的那个)。

现在问题出现了,我必须将 Repo 2Repo 3 的依赖路径重新分配给 Repo 1 附带的另一个 Repo 4。因此,这将影响这些存储库的项目文件,从而导致请求提交我当然不想要的新路径!

那么你如何处理这个问题,因为我猜这不是一个罕见的问题(如果我错了,请纠正我)。

和每次一样:如果您不喜欢它,请随意 -1,但请在下方留下评论。否则它只会令人沮丧。

【问题讨论】:

  • 没人知道吗??我不可能是唯一一个遇到过这个问题的人吗?

标签: visual-studio dependencies git-submodules


【解决方案1】:

那么你如何处理这个问题,因为我猜这不是一个罕见的问题

这是一个通常会积极避免的问题。

"git submodule" 建议源依赖,而不是二进制依赖

解决方法是:

  • 仅依赖于二进制文件,这意味着您依赖于 Repo4 构建的工件(如 dll 或库),而不是 Repo4 源(这将涉及克隆)
  • 单存储库方法,其中所有项目都在同一个存储库中,使用符号链接以使 Repo2 或 Repo3 指向同一个 Repo4。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-13
    • 2010-10-14
    • 2011-12-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多