git存储库中的多个引用

Posted

技术标签:

【中文标题】git存储库中的多个引用【英文标题】:Multiple references in git repository 【发布时间】:2014-02-10 22:33:03 【问题描述】:

我有 3 个存储库:

应用 Lib1 Lib2

应用程序需要 Lib1 和 Lib2 才能运行。 Lib1 需要 Lib2 进行编译和引用。 我最近将 Lib 2 作为子模块添加到 Lib 1,然后将 Lib1 Lib2 作为子模块添加到应用程序存储库。像这样:

-Application
|-submodule Lib1
| |-submodule Lib2
|-submodule Lib2

现在我的问题/问题: Lib2 在应用程序存储库中重复。如果我想在其他地方(其他项目/存储库)使用这两个库,将子模块 Lib2 添加到 Lib1 和 Application 是正确的选择吗?还是只将编译器中的库作为附加的包含文件夹包含在内,让开发人员自己获取或签出他们的存储库更好?

【问题讨论】:

两次包含 Lib2 绝对不是正确的解决方案:每个副本可能有不同版本的 Lib2!但是,如果您想让别人说您应该做什么,则需要提供更多信息。 您究竟需要什么信息? 您需要独立于 App 开发 Lib1,还是将它(和 Lib2)始终用作 App 的一部分或其他东西? 【参考方案1】:

对于多个依赖项,最佳做法是将它们全部列在一个级别。

所以应用程序将 Lib1 和 Lib2 作为依赖项。 Lib1 依赖于 Lib2 的事实可用于检查 App 引用的 Lib2 是否与 Lib1 相同。

但想法仍然是:

只初始化(即结帐,如git submodule update --init)应用内的子模块(所以这里没有--recursive) 确保Lib1 使用App/lib2 构建,而不是./Lib2

【讨论】:

以上是关于git存储库中的多个引用的主要内容,如果未能解决你的问题,请参考以下文章

从 Bamboo 中的单独 GIT 存储库中提取文件

如何解决请求的 URL 返回错误:git 存储库中的 403

Node.JS:使用多个 Git 存储库

从 Git 存储库中删除已从磁盘中删除的多个文件

从 Git 存储库中删除已从磁盘中删除的多个文件

Git存储库中的Git存储库[重复]