git - 如何组织具有可重用组件的存储库

标签 git components code-reuse

我有以下 git 存储库:

  • 可重用A
  • 可重用B
  • 可重用C
  • 申请1

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

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

最佳答案

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

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

关于git - 如何组织具有可重用组件的存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3685252/

相关文章:

c++ - 派生重载运算符,但仅对相同类型进行运算

linux - Git,有权限问题推送

git - 从 github 导入所有分支

python - 在 Windows 上使用 cookiecutter 创建 Django 项目模板

java - 为什么我的 Textarea.get 文本不起作用

dynamic - React 动态标签名称

qt - Qml - 在两个组件之间传递属性值

javascript - 构建跨 Node.js 和客户端共享的 JavaScript 应用程序

unit-testing - Joe Armstrong 在 "there are more advanced techniques"中提到的单元测试是什么

从github远程仓库git导出