当前位置:   article > 正文

GIT--克隆MR(还没合入)目标分支代码+增量代码_git clone带上未merge得代码

git clone带上未merge得代码

日常工作中经常遇到这种情况:

基于主干master拉出特性分支test
过段时间之后,master主干代码一直往前演进迭代,test上只有特性功能的代码修改,为适配耦合,test分支不做rebase master(即test上并没主干最新部分代码)
虽已创建MR,但此时test分支还未合入到master
本地下载主干最新代码+特性分支上的增量代码,来检验MR是否OK

应用场景:

  1. gitlab+Jenkins代码入库前自检
  2. 个人分支合并到主干分支MR事件自动触发
  3. 因为多个代码仓适配同一个Jenkins job,所以不用Jenkins 自身克隆代码插件将代码仓固定写死
  4. 只有一个pipeline来适配多个业务代码仓,检测到任一代码仓有MR事件,自动触发自检,需要克隆该代码仓目标分支+增量代码下来

以下代码就是在MR合入成功之前,将目标分支最新代码要合入的增量代码一起克隆下来:

git clone ${git_url}
git checkout ${target_branch}
git fetch origin +refs/merge-requests/${MRID} /head:refs/remotes/origin/merge-requests/${MRID}
git merge refs/remotes/origin/merge-requests/${MRID}
  • 1
  • 2
  • 3
  • 4

参数解释:

#git_url:仓库URL(HTTPS格式)
#target_branch:目标分支
#MRID:提交merge之后生成的一个ID标记,他是唯一且递增的
  • 1
  • 2
  • 3
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/738519
推荐阅读
相关标签
  

闽ICP备14008679号