如何做 git 子模块以及为什么要使用 git 子模块

How to do git sub modules and why to use git sub module

我找到了一个 github 项目,它使用 git 个子模块。

git 个子模块的用途是什么?

如何创建 git 个子模块?

它们与子树有何不同?

谢谢

Git 子模块:

git 存储库中的子模块就像一个子目录,它本身就是一个独立的 git 存储库。当您在 git 中有一个项目依赖于其他项目的特定版本时,这是一个有用的功能

Git 子树:

Git 子树允许您插入任何存储库作为另一个 one.the 子目录的子目录将成为超级项目的永久部分

Git 子树和子模块:

子树合并将子树的内容和历史永久集成到合并子树的父存储库中。

子模块只是对子模块中特定提交的引用。引用提交的更改历史记录保存在父模块中,但子模块的内容或历史记录未在父模块中跟踪。

配置Git子模块:

  • 您有一个项目 -- 称之为 MyWebApp,它已经有一个 github 存储库

  • 您想在项目中使用 jquery 存储库

  • 您想将 jquery 存储库作为子模块拉入您的项目。

  • 子模块非常非常容易引用和使用。假设您已经将 MyWebApp 设置为存储库,从终端发出这些命令:

    1. cd MyWebApp

    2. git submodule add git://github.com/jquery/jquery.git externals/jquery 这将创建一个名为 externals/jquery 和 link 的目录到 github jquery 存储库.现在我们只需要 init 子模块并将代码克隆到它:

    3. git submodule update --init --recursive 您现在应该已将所有最新代码克隆到子模块中。如果 jquery 存储库发生变化并且您想拉下最新代码,只需再次发出子模块更新命令即可。

      请注意:

      我的项目中通常有许多外部存储库,所以我总是将存储库分组在 externals 目录下。