Gerrit使用总结

作者: 奔跑吧李博 | 来源:发表于2022-05-26 19:43 被阅读0次
什么是Gerrit

Gerrit 是一个基于 web 的代码评审工具, 它基于 git 版本控制系统。Gerrit 旨在提供一个轻量级框架, 用于在代码入库之前对每个提交进行审阅。更改将上载到 Gerrit, 但实际上并不成为项目的一部分, 直到它们被审阅和接受。它是标准开源过程的一个简单工具来支持提交补丁程序, 然后由项目成员在应用到代码库之前进行评审。

1.配置sshkey
生成 SSH Key:
ssh-keygen -t rsa -C "xxxx@xxx.com"
输入命令获取公钥,然后添加入sshKey。
/* macOS 系统 */
pbcopy < ~/.ssh/id_rsa.pub

/* windows 系统 */
clip < ~/.ssh/id_rsa.pub
2.clone代码

进入gerrit的项目代码仓库下,有如下两种clone方式,带有hook的是有提交代码远程路径的,不带hook的是没有远程仓库路径的,这里当然要选择带hook的(下载的时候需要连同hooks钩子脚本)。


3.提交代码
  • 首先肯定是add和commit。
git add .
git commit -m ""
  • 使用同一个change ID重新提交:
    change ID的作用就是用来识别不同的codeReview。git commit --amend命令可以把这次commit的信息与上次的commit合并起来。
git commit --amend
4.推送代码

如果还用git push origin 分支名,那这里会报not permitted,当然是因为gerrit不允许直接将本地修改同步到远程仓库。开发者必须先push到远程仓库的refs/for/*分支上,等待codeReview。


  • 而应该使用如下命令推送:
git push origin HEAD:refs/for/branchxxx
5.在线编辑功能
  • 可以在gerrit上修改commit message。
6.代码审核
  • 然后就会在gerrit上生成一个代码审核的Change-Id,进入这个链接。


  • 然后添加2个codeReview人员进行+1+2(审核),完成之后再需要+verify,然后submit就可以入库。


  • 将功能代码推到其他分支:
    在gerrit上可以直接选择要cherry pick的分支,将代码cp到其他分支,或者切到某个分支使用download patch的命令来cherry pick到本地。


  • Abandon
    如果代码因为merge冲突或者是不符合审核规则,可以在gerrit页面进行abandon处理,此时远程仓库拒绝代码合入,也就是远程仓库没有你的提交。


  • rebase
    更改当前提交的parent,当执行rebase操作时,git会从两个分支的共同祖先开始提取待变基分支上的修改,然后将待变基分支指向基分支的最新提交,最后将刚才提取的修改应用到基分支的最新提交的后面。

  • 撤销提交:git reset

git reset --hard : 回退版本库,暂存区,工作区。

git reset --mixed: 回退版本库,暂存区。

git reset --soft: 回退版本库。

问题总结:
  1. git clone下载下来的库,文件夹里试空的。只把一些配置文件下载了,源码都没有下载,但是项目大小却是正确的。
    处理:需要checkout一下分支文件就会出现。

2.remote: commit fe0f5b0: warning: subject >50 characters; use shorter first paragraph
处理:提交的信息太多,不应该大于50个长度,reset后重新提交。

相关文章

  • Gerrit使用总结

    提交流程 1、Xcode中检查需要提交的内容 提醒:Commint时若有未勾选的文件,执行( git add ....

  • Gerrit使用总结

    什么是Gerrit Gerrit 是一个基于 web 的代码评审工具, 它基于 git 版本控制系统。Gerrit...

  • repo/gerrit总结

    楔子 新接手一个项目,要用到repo和gerrit,总结下repo使用过程。 repo/gerrit概述 repo...

  • 使用uwolfer gerrit-rest-java-clien

    使用uwolfer gerrit-rest-java-client获取Gerrit信息 使用Gerrit来做代码管...

  • docker运行gerrit(代码审查工具)

    gerrit是什么? Gerrit,一种免费、开放源代码的代码审查软件,使用网页界面。 gerrit背景 Gerr...

  • Gerrit概念说明及使用

    Gerrit介绍 Gerrit简介 Gerrit, 一种开放源代码的代码审查软件, 使用网页界面. 利用网页浏览器...

  • gerrit3使用教程

    环境搭建使用gerrit+ldap的方式,gerrit账号为管理员预设。 登录 右上角点击sign in 输入账号...

  • Jenkins Gerrit持续集成

    〇、概述 0.1 背景及目的 我司新手村任务: 安装运行gerrit; 建立一个gerrit仓库,使用git/re...

  • gerrit使用记录

    要像自动拉去钩子文件并能够自动放入.git/hook/目录下, 请使用ssh协议. http协议经测试不能成功. ...

  • gerrit使用问题

    1.在使用新公司gerrit的时候报错如下: no matching key exchange method fo...

网友评论

    本文标题:Gerrit使用总结

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