• gerrit代码review使用基本方法


    1、repo拉取代码

    repo init -u ssh://gerrit.senseauto.com/senseauto_manifest -b develop -m senseauto-config.xml --repo-url=ssh://gerrit.senseauto.com:29418/senseauto_repo --repo-branch=develop --no-repo-verify

    repo sync -j4
    repo forall -j 4 -p -c ‘git lfs pull’

    2、修改代码

    git pull可以拉取所有分支的代码
    git checkout branch-dev(切换到开发分支,如果和origin名称一样会自动关联远程分支,可以用git branch -vv或者git log确认)
    git add xx
    git commit -m “xx”
    git push origin HEAD:refs/for/develop%topic=test-topic

    3、过CI

    jenkins上通过特定的CI pipeline,
    通过build with param绑定分支 以及topic

    4、merge dev

    添加代码reviewer确认
    或者通过reply 添加确认,无误后进行merge submit。

    5、合入release-xxx分支

    通过cherry-pick方式
    git checkout release-xxx分支
    在gerrit上merge成功的页面找到download path,选择cherry-pick
    git fetch “ssh://yangyuxin@gerrit.senseauto.com:29418/senseauto_modules_perception_camera” refs/changes/19/178319/3 && git cherry-pick FETCH_HEAD
    如果没有冲突,则成功合入,git push即可
    git push origin HEAD:refs/for/release-xxx%topic=test-topic
    如果有冲突,则进行修改后,git cherry-pick continue

    参考:https://www.ruanyifeng.com/blog/2020/04/git-cherry-pick.html

    紧急处理

    • 如果合入错误分支,可以使用版本回退
      git reset --hard HEAD~3 # 回退上上上一个版本
      git reset –hard bae128 # 回退到某个版本回退点之前的所有信息。

    • 很多修改的文件丢弃
      git chekout .
      .匹配了所有的文件,相当于git checkout all-files

    git revert

    git revert 撤销 某次操作,此次操作之前和之后的commit和history都会保留,并且把这次撤销
    作为一次最新的提交

  • 相关阅读:
    JSR303是啥?有啥用处?
    什么是分布式锁?几种分布式锁分别是怎么实现的?
    【乱码】记一次C#调用Java乱码
    Docker容器化技术(使用Dockerfile制作Nginx镜像)
    【SpringBoot】理解Spring Boot自动配置的底层原理
    预测房屋价格(使用SGDRegressor随机梯度下降回归)
    #前端#scss学习
    MySQL高级SQL语句
    Java毕业设计 基于SpringBoot vue养老院管理系统 微信小程序
    2022/7/ 20 训练记录
  • 原文地址:https://blog.csdn.net/yang_daxia/article/details/133805384