美文网首页
Android 项目 多 Git repository 管理

Android 项目 多 Git repository 管理

作者: Jiun俊 | 来源:发表于2018-08-09 20:11 被阅读0次

    需求场景:

    实际开发项目中,一个项目有依赖多个 Module 已属正常情况。其中会有些 Module 可能会在多个项目中通用。所以在进行 Git 仓库管理的时候,希望可以单独管理这些 Module。

    解决方法

    本人只使用了 git submodule 的方式。即支持在 Terminal 命令行操作,也支持在 SourceTree 内直接图形化操作。十分的便捷。还有其他的方式,如 git subtree / git slave / google repo

    具体步骤:

    实现 RepoLibBase Module 的单独 git 管理

    1. 创建项目 RepoDemo,可跳过

    Demo示例

    2. 初始化 RepoLibBase 并提交到远程仓库,如果已有远程子 Module 直接跳到下一步

    利用 AS(AndroidStudio) 的 Terminal 操作


    git 命令操作位置
    1. 先创建远程仓库,在 Github 上或 其他的平台上
      e.g. 创建成功后的 RepoLibBase 的仓库地址为:https://[host]/[path]/RepoLibBase.git
    2. 进入到 RepoLibBase 的目录下 cd RepoLibBase
    3. 初始化本地仓库 git init
    4. 自己添加 ignore 规则,然后提交文件 git add -A 全部添加 或 自己逐个添加。
    5. 提交文件到本地 git commit -m "first init"
    6. push 到远程 git 仓库
     git remote add origin https://[host]/[path]/RepoLibBase.git
     git push -u origin master 
    

    3. 初始化 RepoDemo 并将 RepoLibBase 导入

    利用 AS Terminal 操作。

    1. 首先切回到项目根目录 \RepoDemo
    2. 输入命令:git submodule add https://[host]/[path]/RepoLibBase.git
      即可从远程仓库 将 RepoLibBase 导入到该项目中。
      上面命令后可以指定导入目录,如 git submodule add https://[host]/[path]/RepoLibBase.git app\libs 就是导入到 RepoDemo\app\libs 目录下。
      注意:如果已经有了(按照上面操作的例子)可能会导入失败,把已经存在的删掉就好了。
    3. 在项目下的 settings.gradle 文件中加入 该 Module 添加 Module
    4. sync 或 rebuild 项目,后应该就可以识别,并添加依赖了。
    5. 之后在项目 RepoDemo 中用 git 命令行或用 SourceTree 进行 pull 或 push 代码,两个仓库的代码都不会相互干扰。
      如果想在该项目中利用 git 命令操作子项目,必须进入该 Module 的目录下操作。

    重点就在 git submodule add 这个命令


    在 SourceTree 中也可以添加此项目,也可以识别 submodule 进行图形化管理。很是方便。
    SourceTree 界面

    双击 RepoLibBase 即可以直接进入子模块的项目管理页面,进行代码的推送或提交管理。

    RepoLibBase 管理页

    相关文章

      网友评论

          本文标题:Android 项目 多 Git repository 管理

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