当合并代码块发生冲突时的解决办法(Git Push发生conflict错误)

##实习的时候发生了很多次Git push冲突,解决的时候问大佬,都是模模糊糊的解决完就不知道了。这次特意查一下记录方法。

 

公司采用Gerrit管理代码,所以其实总共分两步,自己git push完之后,代码审批通过之后,才会合并到对应分支。

所以有两种冲突,一种是在git push的时候提示冲突,这是因为在你提的时候,已经有其他同事提了代码,并且审批通过,代码已经到了分支上,所以会在git push的时候就直接提示冲突了。一种是git push没有提示冲突,但是,在Gerrit提示合并冲突,就是在你提的时候,已经有同事提了代码,但是还没过审批,所以同事的代码也还没到git上,但是在Gerrit的时候,管理者审批的时候有先后顺序,会提示冲突。

#预防发生冲突的方法:在每次push前git pull一下,保证本地代码都是最新的。

#冲突解决方法:

第一种冲突:在Git push的时候提示冲突了。

这种解决方法可以使用git stash

git stash

保存本地代码,然后拉取最新的远程分支代码

git fetch --all   //只是下载远程内容,不做任何合并  
git reset --hard origin/master    //把HEAD指向刚下载的最新版本

再使用git stash apply应用最近存储,重新push即可。

第二种冲突:在Gerrit提示冲突

这种没有办法,因为在本地git会认为你已经提交了代码到git上,所以只能备份好本地新的文件,然后强行覆盖本地文件,再把备份好的重新拉进来。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值