git 模块使用教程

模块使用分以下几个步骤

  1. 获取仓库的 URL
  2. 将代码以子模块的方式添加到工程中
  3. 使用反馈

1. 获取仓库的 URL

URL:

  • ssh :

    git@xxx.git

  • http :

    http://xxx.git

Note: 外部使用只能拉取 master分支,其余分支用于开发者调试,测试使用。

2. 将代码以子模块的方式添加到工程中

2.1 添加子模块

git submodule add http://xxx.git third_party/xxx

​ Note: third_party/xxx意思是将该模块的代码存放在 third_party目录下的 xxx文件夹中。

2.2 修改子模块引用

​ 因主工程会修改子模块的默认配置文件,为了以后更新子模块方便,需要创建一个新的分支,基于新的分支修改。

cd third_party/xxx

git checkout -b <branch_name>

Note: 第一次添加子模块,主工程提交时最好打个 tag,用于后续子模块更新时回退方便。

3. 使用反馈

​ 如果在使用中发现子模块有 bug,此时可以采用以下两种方式处理:

  • 自己直接在子模块分支上修改,然后提交 MR (Merge Request) ,由模块开发者合并到分支后,本地更新子模块即可。

    1. 进入子模块目录
       $ cd third_party/xxx
        
    2. 修改子模块内容
       xxx...xxx
        
    3. 提交子模块代码
       $ git add .
       $ git commit -m "modify annotation"
       $ git push <branch_name> origin/<branch_name>   // 如果是第一次提交,远端不存在该分支,在推送时需要加上 --set-upstream 参数 
        
    4. 在 gitlab 上提交合并申请 (如下图)
       开发者处理申请中。。。
      
    5. 本地更新子模块
       $ git pull
       $ git checkout <branch_name>   // 需要切换到 2.2 小节自己创建的那个分支
       $ git merge master 			  // 将新的子模块更新到本地工程中,默认是 master 分支,如需特别指定其他分支,自己修改即可    
    

合并申请流程:
在这里插入图片描述

  • 直接告诉开发者,提出需求或者 bug,由开发者自己解决,然后同步到服务器上,再告知使用者更新子模块即可。

在这里插入图片描述

**Note: 不要在子模块的默认分支修改代码,经过自己魔改了之后的代码,开发者看起来很吃力。一定要先新建分支再魔改,使用出来的 bug 交给开发者解决,方便自己也方便他人么。 **

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值