【Git】Gerrit代码审核冲突解决方法


Git常用命令

在这里插入图片描述


场景一:本地文件内容冲突

  • 冲突场景:不同用户修改同一文件

    ➢ user1、user2、服务端三个版本同步V 0.0;
    ➢ user1:先执行pull➜修改代码V 1.0➜commit➜push➜产生审核任务A
    ➢ 审核者:任务A审核结果设置code review +2➜submit
    ➢ user2:修改代码V 2.0➜发现没有先pull➜右键选择stash save(暂存修改)➜pull➜stash pop(释放修改)

    提示:本地文件合并冲突

  • 解决方法:

    ➢ user2:选中冲突文件➜右键选择edit conflict➜编辑完成并保存➜右键resolve…➜commit(不钩选Amend last commit)➜push➜产生审核任务B
    ➢ 审核者:任务B审核结果设置code review +2➜submit

场景二:本地文件名冲突

  • 冲突场景:不同用户修改不同文件

    ➢ user1、user2、服务端三个版本中的文件test名称相同;
    ➢ user1:执行pull➜修改文件名为test1➜commit➜push➜产生审核任务A
    ➢ 审核者:任务A审核结果设置code review +2➜submit
    ➢ user2:修改文件名为test2➜本地commit➜发现没有先pull➜执行pull

    提示:本地显示test1、test2文件冲突

  • 解决方法:

    ➢ user2:选中两个冲突的文件➜右键选择check for modification(显示三个文件名)➜删除test、test1➜右键选择test2➜选择edit conflict➜设置为Created状态(冲突解决)➜commit(不钩选Amend last commit)➜push➜产生审核任务B
    ➢ 审核者:任务B审核结果设置code review +2➜submit

场景三:服务端任务冲突

  • 冲突场景:不同用户产提交审核任务

    ➢ user1、user2、服务端三个版本同步V 0.0;
    ➢ user1:先执行pull修改代码V 1.0➜commit➜push➜产生审核任务A
    ➢ 审核者:任务A审核结果设置code review +2➜submit
    ➢ user2:修改代码V 2.0(没有先pull)➜commit➜push➜产生审核任务B

    提示:审核任务B合并冲突

  • 解决方法:

    ➢ 审核者:任务B审核结果设置-2
    ➢ user2:先执行pull➜本地文件会显示冲突状态➜右键选择edit conflict➜编辑完成并保存➜右键resolve…➜commit(不钩选Amend last commit)➜push➜产生审核任务C
    ➢ 审核者:删除审核任务B➜任务C审核结果设置code review +2➜submit


小结

使用Gerrit解决冲突的方式有很多种,但解决冲突只是一种途径,尽量避免冲突提高软件迭代效率才是根本目的。减少冲突最好的方法就是修改代码前,先执行pull操作,保持本地端和服务端版本一致的条件下,再去修改、提交、推送代码。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值