例如我的项目叫:my_project

# 例如我的子模块是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 说明说明干净了。

相关文章:

  • 2021-09-29
  • 2021-11-16
  • 2021-05-21
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2023-03-27
  • 2022-12-23
  • 2021-07-12
  • 2022-12-23
  • 2021-09-10
相关资源
相似解决方案