gerrit解决冲突

在使用gerrit的时候出现了两种冲突
一种是 本地dev分支推送的"change"进行 Code Review之后,你要合并到远程dev的时候产生冲突
另一种是将dev合并到staing与别人产生了冲突

1.Gerrit里点击“publish and submit”提示如下:

Your change could not be merged due to a path conflict.

Please merge (or rebase) the change locally and upload the resolution for review.

解决方法如下:

1.  cd ~/projects/test   #切换到test项目  
2.  git branch   #查看分支情况  
3.  git checkout dev  #选择分支dev   
4.  git fetch dev  #fetch与pull的区别,自己再搜吧~  
5.  git rebase origin/dev  #查看有“CONFLICT (content): ”的地方,手工解决冲突后,下一步  
6.  git add .  #这只是一个举例,即要先add操作  
7.  git rebase --continue  
8.  git push origin HEAD:refs/for/dev    #OK了   或者使用 repo upload .

git push后,你需要在Gerrit里面再次review一次。之后点击submit即可合入dev。
这里以dev分支为例, staging分支与dev相似

2、将自己的dev分支merge到staging出现冲突

git checkout staging
git pull origin staging
出现冲突
手动解决冲突
git commit
git push origin HEAD:refs/for/dev # 将解决完毕的冲突推送到gerrit,进行code review

其他问题:
提交代码到gerrit出现no change id的问题:需要先进行压缩提交到一行

参考文章:
it, Gerrit, Hudson (3) -- GIT 技巧总结

你可能感兴趣的:(gerrit解决冲突)