Android:Git中关于管理子模块的指令

2023年2月3日10:26:55

之前一篇博客写了关于组件化开发的文章《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 ..

先提交子模块代码,然后在提交壳工程的代码
关于子模块管理大概就这些操作比较常用,希望可以解决小伙伴的问题。

  • 作者:雨幕青山
  • 原文链接:https://blog.csdn.net/JJ583500596/article/details/81364710
    更新时间:2023年2月3日10:26:55 ,共 1245 字。