submodule

发布于 2020-11-08  353 次阅读


综述

submodule 代表着一个 git仓库
在 git 中可以将一个 git 仓库作为另一个 git 仓库的子模块

详细内容

指令

为当前工程添加 submodule

git submodule [--quiet] [--cached]
git submodule [--quiet] add [<options>] [--] <repository> [<path>]
git submodule [--quiet] status [--cached] [--recursive] [--] [<path>…​]
git submodule [--quiet] init [--] [<path>…​]
git submodule [--quiet] deinit [-f|--force] (--all|[--] <path>…​)
git submodule [--quiet] update [<options>] [--] [<path>…​]
git submodule [--quiet] set-branch [<options>] [--] <path>
git submodule [--quiet] set-url [--] <path> <newurl>
git submodule [--quiet] summary [<options>] [--] [<path>…​]
git submodule [--quiet] foreach [--recursive] <command>
git submodule [--quiet] sync [--recursive] [--] [<path>…​]
git submodule [--quiet] absorbgitdirs [--] [<path>…​]

添加

git submodule [--quiet] add [<options>] [--] <repository> [<path>]

git submodule add urlpath

将 url 的仓库添加到url的仓库添加到path 目录
此时会在主仓库生成 .gitignore 文件来保存子模块

查看子模块

git submodule

更新子模块

git submodule update    // 更新到最新版本

git submodule update --remote   // 更新为远程项目的最新版本

修改子模块

单独修改子模块

删除子模块

1 删除模块文件夹
2 删除 .gitmodules 文件中的子模块信息
3 删除 .git/config 中的子模块信息
4 删除 .git 中子模块文件


朝闻道,夕死可矣