例如我的項目叫: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 說明說明干凈了。