在 Git 中,“子模块”(由 git submodule 命令创建和管理)和“子项目”(实际上只是您放在另一个 Git 存储库中的一个 Git 存储库)之间是否有区别,如果有,它是什么?

我能找到的所有关于此的文档都相当含糊(在某些情况下,相互矛盾)。我的怀疑是没有区别,但我想我应该确认这一点,并给 Git 新手留下一个问题。

最佳答案

子项目是三种嵌套类型之一的通用术语:

  • 子模块 提供从 super 项目到子项目的半固定引用,并集成到 git 中。最好在子项目时使用:
  • 由其他人开发,不受 super 项目的管理控制并遵循不同的发布周期。
  • 包含在 super 项目之间共享的代码(特别是当意图将错误修正和新功能传播回其他 super 项目时)。
  • 分隔会损害日常 git 命令性能的巨大和/或许多文件。
  • 子树 导致子项目存储库被导入 super 项目的存储库,成为具有完整历史记录的存储库的本地部分,通常在 super 项目的特定子目录中。
  • 包装器 ,为具有关联子项目的 super 项目提供多存储库管理功能。

  • Reference documentation

    关于git - Git 中子项目和子模块的区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7124483/

    10-13 09:15
    查看更多