Gerrit常见问题解决

由于要做代码审核,公司部分项目从gitlab上迁移到了gerrit系统上,很多人在使用中会经常出现以下问题,这里记录下。

问题:从gitlab上克隆了代码,并且已经进行了修改提交,但是代码只能推送到gerrit上,这时候该怎么办呢?

操作方法

1.把项目工程下的.git/config文件中的url的值修改为gerrit上的ssh地址;
这里写图片描述

即把上图中红线标识部分改为下图中红线标识部分

这里写图片描述

2.见 缺少Change id 操作方法

问题:缺少Change
在gerrit上克隆代码的时候,忘了选择Clone with commit-msg hook,因此克隆下来的项目里没有生成changeid 的钩子程序。但是此时克隆下来的代码已经进行了修改提交,推送到gerrit审核时会发生缺少change id的错误,导致代码不能推到gerrit上。

如图所示:

这里写图片描述
操作方法

此时可手动添加钩子程序,并回退重新提交即可,操作如下:

1.把I:\Departments\Shanghai\SmartECU\Testing\Shared\TianQi目录下的commit-msg程序复制到项目工程目录的.git/hooks目录下

2.回退提交,在git bash 执行命令:git reset –soft HEAD~n(有几次提交n就为几)

3.重新提交,在git bash执行命令:git commit -m “msg”,msg为提交说明信息,此时重新提交后,观察到会有change id 生成

4.推送到gerrit: 在git bash执行命令:git push origin HEAD:refs/for/远程分支名

若不需要在gerrit上审核,则不用进行以上操作,直接使用git push origin HEAD:refs/heads/远程分支名推动即可。

问题:推送到gerrit上的change出现can not merge
将对代码做的修改提交到gerrit系统上后,有时候会出现can not merge的情况,此时代码不能合并进入远程仓库,在Reviewing界面会如下图所示:

这里写图片描述

这种情况出现的原有两个:

1.提交的代码与远程别人的提交(已经合入远程仓库)有冲突。

”’或者”’

2.修改的基础落后于远程仓库中的代码,没有更新到最新。

操作方法
1. 此时先点击页面上的rebase按钮,并且在弹出的框里勾选change parent revison。

这里写图片描述
这里写图片描述
2. 点击rebase。表示先rebase远程最新的代码更新。

若此时仍然出现Cannot merge,则表示有冲突,解决方法如下:

1. 同步远程最新的代码,在git bash中执行命令:git pull --rebase
2. 在所有冲突的文件中,解决冲突。(请仔细看命令行的提示)
3. 重新提交代码,并保证与原始Change-Id一致: 在git bash 中执行命令: git commit --amend
4. 在出现的文本编辑器中,修改提交信息。(若不需要修改就直接保存按:q退出)
5. 再次推送到gerrit: git push origin HEAD:refs/for/远程分支名
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Gerrit是一种开源的代码审查工具,用于团队协作和代码质量管理。它支持多种代码审查工作流程,并提供了强大的代码审查和版本控制功能。 Gerrit支持对代码的评论、讨论和修改建议,使团队成员可以更好地合作进行代码审查。每一次代码变更都可以通过Gerrit进行审查,并且可以根据审查结果进行修复和改进。 通过Gerrit,团队可以更加方便地进行代码审核,从而提高代码质量和项目的稳定性。团队成员可以通过Gerrit对代码进行评分和评论,并提出修改建议。这能够帮助团队更好地发现和解决潜在的问题,提高代码的可读性和可维护性。 此外,Gerrit还提供了版本控制功能,可以支持多个代码仓库的管理。团队成员可以使用Gerrit来提交和推送代码变更,同时也可以进行代码的回退和恢复操作。这种版本控制的方式既方便又可靠,确保了团队的代码管理和版本控制的一致性。 关于Gerrit PDF,通常是指Gerrit用户手册或开发指南的PDF版本。这个PDF提供了Gerrit的详细使用说明和开发指导,对于想要深入了解和使用Gerrit的人来说是非常有价值的资源。Gerrit PDF的内容包括如何安装和配置Gerrit、如何进行代码的提交和审查、如何管理和维护Gerrit等方面的内容。 总的来说,Gerrit是一个功能强大的代码审查和版本控制工具,它可以帮助团队更好地协作,提高代码质量和项目的稳定性。Gerrit PDF则是提供了详细的使用手册,帮助用户更好地了解和使用Gerrit

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值