git submodule 添加 更新 删除 教程

例如我的项目叫:my_project

添加submodule

# 例如我的子模块是tensorflow

cd my_project/
git submodule add https://github.com/tensorflow/tensorflow.git tensorflow

或者给目录起个其他名字
cd my_project/
git submodule add https://github.com/tensorflow/tensorflow.git my_tensorflow

初始化所有submodule

cd my_project
git submodule init
git submodule update

或者用一行命令
cd my_project
git submodule update --init --recursive

更新submodule

# 例如我的子模块是tensorflow

把子模块看作单独的仓库就行:

cd my_project/tensorflow/
git pull

删除submodule

# 例如我的子模块是tensorflow

rm -rf tensorflow  # 删除子模块目录文件
vim .gitmodules # 移除子模块的索引信息
vim .git/config # 移除子模块的配置信息
rm -rf .git/modules/tensorflow # 移除子模块的其他信息

可以提交.gitmodules了

# 为了避免有缓存,可以再执行以下:
git rm --cached tensorflow

# 看到 fatal: pathspec 'xxxxx' did not match any files 说明说明干净了。
posted @ 2020-03-29 16:04  ZH奶酪  阅读(4655)  评论(0编辑  收藏  举报