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

oalqel3c  于 2023-04-04  发布在  Git
关注(0)|答案(1)|浏览(208)

我找到了一个GitHub项目,它使用了git子模块。
git子模块的用法是什么?
如何创建git子模块?
它们与子树有何不同?

9udxz4iz

9udxz4iz1#

  • Git子模块:*

git仓库中的子模块就像一个子目录,它实际上是一个独立的git仓库。当你有一个依赖于其他项目的特定版本的git项目时,这是一个有用的功能

  • Git子树:*

Git子树允许你插入任何仓库作为另一个仓库的子目录,这个子目录将成为超级项目的永久部分

  • Git子树和子模块:*

子树合并将子树的内容和历史永久地集成到合并子树的父存储库中。
子模块只是对子模块中特定提交的引用。被引用提交的更改历史保存在父模块中,但父模块中不会跟踪子模块的内容或历史。

  • 配置Git子模块:*
  • 你有一个项目--叫它MyWebApp,它已经有了一个github仓库
  • 您希望在项目中使用jQuery存储库
  • 你想把jquery仓库作为一个子模块拉到你的项目中。

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

  1. cd MyWebApp
  2. git submodule add git://github.com/jquery/jquery.git externals/jquery这将创建一个名为 externals/jquery 的目录,并将其链接到 github jquery repository。现在我们只需要 init 子模块并将代码克隆到它:
  3. git submodule update --init --recursive现在你应该已经把所有最新的代码克隆到子模块中了。如果jquery仓库发生了变化,你想把最新的代码拉下来,只需要再次发出子模块更新命令。
  • 请注意:*

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

相关问题