【问题标题】:How to organize repositories with reusable components如何使用可重用组件组织存储库
【发布时间】:2011-04-10 18:13:13
【问题描述】:

我有以下 git 存储库:

  • 可重用A
  • 可重复使用B
  • 可重用C
  • 应用程序1

ReusableB 和 C 都依赖于 ReusableA。因此,两个存储库都包含 ReusableA 作为 git 子模块。 Application1 依赖于 ReusableB 和 ReusableC,因此它包含两个作为 git 子模块。但是,这应该会导致 Application1 存储库包含 ReusableA 的两个实例(可能不同的版本)。所以我的问题基本上是,这是我应该避免的事情,还是我可以在 Application1 中创建一个构建脚本,它只是忽略一个 ReusableA 实例(最好我也不想初始化它)?

你能给我一些建议吗?如果这确实是要避免的情况,我怎么能做到这一点?最佳做法?

【问题讨论】:

    标签: git components code-reuse


    【解决方案1】:

    在这种情况下,最好也包含ReusableA 作为Application1 的直接子模块。
    Application1 将仅使用它自己指定的ReleaseA 版本来构建,有效地“覆盖” ReusableBReusableC 使用的版本。

    • 这在开发阶段很常见,您不能期望所有模块都尊重相同的依赖关系。
    • 但是,在集成或组装阶段,您需要检测并报告这些情况(其中 ReusableA 与 Application1ReusableBReusableC 之间的不同版本一起使用)
    • 目标是构建最终版本,该版本将使用一个且只有一个版本的ReusableA 投入生产

    【讨论】:

      猜你喜欢
      • 2011-08-16
      • 2016-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多