GIT SUBMODULE在Android中的使用

作者: mymdeep | 来源:发表于2017-04-06 16:38 被阅读349次

    赶上清明节回老家,有段时间没有更新了,今天说个简单又好用的东西——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
    

    总结

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


    最后还是推荐一下我的公众号,欢迎给我留言。
    更多的开发知识,可以关注我的公众号:


    相关文章

      网友评论

      • CangWang:你好,请问一下?你使用submodule建立的子模块项目,是单单将其运行的代码独立出来,是无法单独作为项目运行的吗?
        mymdeep:@CangWang 我们的是个library module
        这个模块,被好多独立项目共同使用

      本文标题:GIT SUBMODULE在Android中的使用

      本文链接:https://www.haomeiwen.com/subject/fseqattx.html