Git submodules
为你的项目增加一个 submodule
git submodule add https://github.com/preservim/nerdtree.git
它会在本地生成一个 .gitmodules
的文件,长这个样子:
[submodule "vim/bundle/nerdtree"]
path = vim/bundle/nerdtree
url = https://github.com/preservim/nerdtree.git
clone 一个带 submodule 的仓库
git clone --recurse-submodules https://github.com/you/project
如果你不怕麻烦也可以这样:
git clone https://github.com/you/project
cd project
git submodule init
git submodule update
更新当前仓库中的 submodules
git pull --recurse-submodules
注意,这只是更新仓库中的 submodules,并没有更新仓库原本的文件,所以你可能还需要 再运行下:
git pull origin <your-current-branch>
来更新你当前仓库中的文件。
删除一个 submodule
删除一个 submodule 比较麻烦,要分为 3 步:
- 使用命令
git rm path/to/submodule
去删除对应的 submodule 同时修改.gitmodules
文件 - 删除
.git/config
文件中相关的行 - commit & push
以上。