在使用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的问题:需要先进行压缩提交到一行