之前一篇博客写了关于组件化开发的文章《android studio 搭建组件化项目框架》,在其中使用了指令关联壳工程与子模块。但是在关联错误时怎么解除关联关系等操作没有说,这里就和大家分享一下其他关于管理子模块的指令。
1.Clone带子模块的工程
git clone ..project.git ProjectA
cd ProjectA
git submodule init
git submodule update
-
git clone ..project.git ProjectA
先Clone ..project.git下的工程并命名为ProjectA -
cd ProjectA
进入工程ProjectA -
git submodule init
初始化子模块 -
git submodule update
更新子模块代码
2.关联子模块
git submodule add ..module.git ModuleA
git status
git diff
git add .
git commit -m "add submodule"
git push origin master
-
git submodule add ..module.git ModuleA
关联子模块,把..module.git的工程命名为ModuleA并添加到壳工程。 -
git status
显示工作目录和暂存区的状态,防止提交不想提交的代码。 -
git diff
显示提交和工作树等之间的更改。 -
git add .
提交所有文件。 -
git commit -m “add submodule”
添加提交文件的备注为”add submodule”。 -
git push origin master
把提交的代码推送到远程服务器。
3.删除子模块
- 需要删除暂存区或分支上的文件, 但本地又需要使用, 只是不希望这个文件被版本控制
git rm --cached ModuleA
rm -rf ModuleA
rm .gitmodules
vim .git/config
删除submodule相关的内容,例如下面的内容
[submodule "lib_http"]
path = lib_http
url = https://github.com/xiangzhenlee/lib_http.git
然后提交到远程服务器
git add .
git commit -m "remove submodule"
- 需要删除暂存区或分支上的文件, 同时工作区也不需要这个文件了,
git rm ModuleA
git commit -m 'delete somefile'
git push
3.修改子模块代码
cd project1/moduleA
git branch
echo "This is a submodule." > b.txt
git add .
git commit -m "add b.txt"
git push origin master
cd ..
git status
git diff
git add .
git commit -m "update submodule add b.txt"
git push origin master
cd ..
先提交子模块代码,然后在提交壳工程的代码
关于子模块管理大概就这些操作比较常用,希望可以解决小伙伴的问题。