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存储库中的多个引用的主要内容,如果未能解决你的问题,请参考以下文章