android studio submodule,GIT SUBMODULE在Android中的使用

  • Post author:
  • Post category:其他


赶上清明节回老家,有段时间没有更新了,今天说个简单又好用的东西——git submodule。

背景

先说一下背景吧,如果有相同需求的开发者就会用得到。由于我需要在我的工程中依赖一个module,而这个module不是我在维护,而是,别的组的同学在维护,他们每次只要确定更新,告诉我一声,我更新就行,代码啥的不用管。

开始的时候我想的是在我的工程之外git clone了一个module A,然后通过AS import进来,但是我发现这样做,AS会在本地重新生成一个新的module B,这个B只是A的备份,也就是,每次这个A工程更新了,你的as中的这个B module并不会更新。这样很尴尬,所以我选择了使用git submodule的方式。

使用

首先在命令行中将目录切换到你的工程下,没错,就是你的工程下(Project),然后

git submodule add 你想依赖的module的git地址复制代码

就像git clone一样,一个新的module(或project)出现在你的工程目录下了,然后你进入Android Studio,将你需要的module import进来,再根据需要进行依赖即可。

更新

如果有需要更新的时候,只需要输入一下命令:

git submodule update复制代码

即可

切换分支

也许你git submodule add之后,需要切换分支,这是,你只要cd 进入这个工程,然后使用checkout就可以只切换这个工程的分支。

删除

首先,要在“.gitmodules”文件中删除相应配置信息。然后,执行“git rm –cached ”命令将子模块所在的文件从git中删除。

队友同步代码

刚开始这么做的时候有点坑队友,我使用了git submodule之后忘了告诉同事,他们同步代码,发现运行不了了。

当然运行不了了,因为正常同步代码是不会同步到git submodule的module的,这时候只需要:

git submodule update –init –recursive复制代码

总结

很简单吧,但是适用于多模块开发,或几个小组共同作业的团队,还是很好用的。

最后还是推荐一下我的公众号,欢迎给我留言。

更多的开发知识,可以关注我的公众号: