解决Gerrit里的cannot merge问题

在iOS里使用Gerrit,已经好几次碰到cannot merge问题了,每次都要花不少功夫去解决,很是烦人!为防止以后再次像个stupid入坑,so赶快记下笔记谨记教训!

1. 出现cannot merge的场景

当提交了本次的修改文件后,准备在Gerrit上review时,发现cannot merge, 所以就立即在本地git log,查看本地提交记录,并与gerrit上的提交记录对比,发现本地缺少两次记录,还是自己提交的记录(一脸懵逼😓),不知道为什么会出现这种情况。

2.本次解决的方法

  1. 如果git status ,发现由于你的不当操作,已经有了confilct文件,先解决confilct文件。
  2. 首先记下当前不能merge 的commitid 这里假设为ID1,然后强行拉取缺少的记录
    git pull --rebase 此时使用git log,会发现本地记录已经与Gerrit同步,记下最新的 commitid 假设为ID2
  3. 然后使用如下命令,回到cannot merge的版本
    git reset --hard ID1 这时又回到了cannot merge版本,然后再进行一次特别的版本回退git reset --soft ID2,这个命令时只回退commitid,不回退写过的代码,所以此时你的代码很完整,到这里,已经解决cannot merge的问题了
  4. 正常提交你的代码
git add .
//  commit 并且进行代码签名
git commit --amend -s -m "xxxx"
// push到远程当前开发分支的代码
git push origin developer

👌代码已经可以正常submitl了~~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • git常用命令 GIT常用命令备忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章阅读 8,668评论 1 26
  • 1.设置 初次使用需要设置姓名和邮箱git config --global user.name "git用户名"g...
    jrg陈咪咪sunny阅读 778评论 0 1
  • 如果你说你还爱我
    欍人_阅读 273评论 0 0
  • (一) 年后第一天上班,正赶上情人节,这一年,和子小姐三十岁,单身。 上班空闲,买了两张电影票,是紧挨着放映的两场...
    子子荷荷阅读 263评论 0 0
  • 婚龄到了 相恋年有余,感情甚笃。该准备准备就把婚结了。其实想结婚时就结婚挺好的 想结婚?本科要读完 还有多半年时间...
    胡一篇阅读 388评论 0 1