gerrit:
gerrit :重复push
场景描述:如果push到gerrit后,gerrit未审批,然后再次push,此时未审批的提交会默认在提交一次,而我们可以针对性的选择push即可避免重复push

gerrit :Merge Conflict
出现的原因:a和b都修改了类1,a代码push到gerrit,gerrit停留在审批状态,然后你修改了同一个文件,也push了相同的文件,此时你本地发现不了。
现在做法:审批不通过,然后Git pull解决冲突后重新push到gerrit。

gerrit push失败:
如果出现push被拒绝,错误信息如: Missing tree 7cb7d11cbf6b23f2c27f15ec17c58818d4a20522
执行 在mybranch上rebase 在test分支上:git commit --amend

问题:remote: commit fe0f5b0: warning: subject >50 characters; use shorter first paragraph
解决:提交的信息太多,不应该大于50个长度

问题:change http://gerrit.xiaohoucode.com/c/coding-cloud-platform/+/623 closed)
原因:623这个commit已经提交了。
解决:git commit --amend 然后重新push,然后发现有时候好用,有时候不好用

! refs/heads/feature/lesson_report:refs/for/feature/lesson_report [remote rejected] (change http://gerrit.xiaohoucode.com/c/coding-cloud-platform/+/1673 closed)

可能原因:rebase导致

解决 Git log 找到本次提交的上次的commitId

Git reset --soft 13fb12f8cda1f039e031b785575872197407e22c

然后提交即可。

比方说,你的代码已经提交到git库,leader审核的时候发现有个Java文件代码有点问题,于是让你修改,通常有2种方法:

代码review发现代码有个小bug,需修复。
方法1:leader 将你提交的所有代码 abandon掉,然后你回去 通过git reset …将代码回退到你代码提交之前的版本,然后你修改出问题的Java文件,然后 git add xx.java xxx.java -s -m “Porject : 1.修改bug…” 
然后重新push到gerrit。
方法2: 
leader不abandon代码,你回去之后,修改出问题的Java文件,修改好之后,git add 该出问题.java 
然后 git commit –amend –no-edit, 
最后 git push origin HEAD:refs/for/branches。
当我们想要对上一次的提交进行修改时,我们可以使用git commit –amend命令。
git commit –amend既可以对上次提交的内容进行修改,也可以修改提交说明。
借鉴:https://blog.csdn.net/liuskyter/article/details/100517652
https://www.jianshu.com/p/a8a2ac58f37d

error: failed to push some refs to 'ssh://mazhen2@gerrit.xiaohoucode.com:29418/coding-cloud-platform'
To ssh://gerrit.xiaohoucode.com:29418/coding-cloud-platform
! refs/heads/feature/lesson_report:refs/for/feature/lesson_report [remote rejected] (no new changes)
解决:
gerrit上查看提交记录,发现commit已经成功push上去了。所以导致这个报错的原因是gerrit上已经包含了具有同样commitid的提交了,如果你确认这个具有相同commitid的提交不是同一笔(一般不会出现),可以通过git commit --amend打开commit mesage编辑状态,然后不需要修改任何东西,然后输入:wq保存退出,这个时候commitid就发生了变化了,这时再提交应该就没有问题了
借鉴:https://www.klavor.com/dev/tutorial/2019/08/22/00004335.html

问题:

15:10:39.586: [coding-cloud-platform] git -c credential.helper= -c core.quotepath=false -c log.showSignature=false push --progress --porcelain origin refs/heads/feature/lesson_report:refs/for/feature/lesson_report
Enumerating objects: 136, done.
Delta compression using up to 8 threads.
Total 90 (delta 38), reused 0 (delta 0)
remote:
remote: Processing changes: refs: 1
remote: Processing changes: refs: 1, done
remote: ERROR: commit 40ccca1: missing Change-Id in message footer
remote:
remote: Hint: to automatically insert a Change-Id, install the hook:
remote: gitdir=$(git rev-parse --git-dir); scp -p -P 29418 mazhen2@gerrit.xiaohoucode.com:hooks/commit-msg ${gitdir}/hooks/
remote: and then amend the commit:
remote: git commit --amend --no-edit
remote: Finally, push your changes again
remote:
error: failed to push some refs to 'ssh://mazhen2@gerrit.xiaohoucode.com:29418/coding-cloud-platform'
To ssh://gerrit.xiaohoucode.com:29418/coding-cloud-platform
! refs/heads/feature/lesson_report:refs/for/feature/lesson_report [remote rejected] (commit 40ccca1: missing Change-Id in message footer)

解决:

  执行git commit --amend后重新执行gerrit的push,仍然失败。

Git log:如下图,

从上而下,我们用commitid1,commitid2,commitid3表示截图中的三个提交,很明显,第二个提交commitid2没有change_id,这个时候我们可以git reset --soft commitid3来软回退到异常节点的前一个正常的节点,然后重新提交。具体操作如下:

git reset --soft commitid3.

然后重新commit和push。

这次成功推到gerrit了,但是还有问题:只有我一个人用的分支在gerrit中提示 merge conflict。

解决:rebase 本分支,确实提示有冲突,然后解决冲突后,重新push,终于成功,且没有conflict了。

https://blog.csdn.net/zhouyan8603/article/details/92748700

问题:

1 为什么没有changeId,什么场景会导致changeId丢失

不知道

2 重新push的时候为什么会conflict。只有我一个人用的分支在gerrit中提示 merge conflict

丢失changId后,push失败,修改changId中对应修改的文件,reset重新push,出现merge confilct

gerrit常见错误与处理相关推荐

  1. Golang 要注意的陷阱和常见错误

    原文: 50 Shades of Go: Traps, Gotchas, and Common Mistakes for New Golang Devs 翻译: Go的50度灰:新Golang开发者要 ...

  2. Python运行的17个时新手常见错误小结

    Python运行的17个时新手常见错误小结 1 发布时间:『 2017-11-04 11:20 』     帖子类别:『人工智能』  阅读次数:8803 (本文『Python运行的17个时新手常见错误 ...

  3. 极客新闻——16、数据库设计中的5个常见错误

    本文笔记全部来自<极客新闻>--新鲜的技术资讯.权威的趋势剖析.别样的技术洞察 本文作者总结了数据库设计中的5个常见错误,以供开发人员参考. 1.糟糕的预规划 好的数据库是深思熟虑的结果, ...

  4. 构建微服务时的三大常见错误

      来自:分布式实验室 公众号,作者:解博 想在网上挨骂,最简单的方法就是写点关于微服务架构的东西.每个人对微服务都有自己的一套见解:无论我们是赞扬还是批评,总会有人跳出来强调"你错了&qu ...

  5. 稳定性专题 | Spring Boot 常见错误及解决方法

    导读 『StabilityGuide』是阿里多位阿里技术工程师共同发起的稳定性领域的知识库开源项目,涵盖性能压测.故障演练.JVM.应用容器.服务框架.流量调度.监控.诊断等多个技术领域,以更结构化的 ...

  6. 机器学习“七宗罪”:影响可信度的七个常见错误

    机器学习是一个伟大的工具,它正在改变我们的世界.在许多优秀的应用中,机器学习(尤其是深度学习)比传统方法优越得多.从用于图像分类的Alex-Net到用于图像分割的U-Net,人们看到了计算机视觉和医学 ...

  7. A/B测试中我们都会犯的十个常见错误

    2019-11-29 20:51:46 作者:Romain AYRES 编译:ronghuaiyang 导读 这篇博客文章的目的不是告诉你在运行A/B测试时应该做什么,而是告诉你不应该做什么. &qu ...

  8. ASP.NET常见错误,原因及解决方法(2003版)_不断更新.....

    [标题]             ASP.NET常见错误,原因及解决方法[错误提示]    异常详细信息: System.Net.WebException: 请求因 HTTP 状态 401 失败:Un ...

  9. ubuntu 安装nginx,php,mysql。常见错误解决

    2019独角兽企业重金招聘Python工程师标准>>> sudo apt-get install -y libpcre3 libpcre3-dev zlib1g-dev ./conf ...

  10. linux更新驱动脚本,编写Linux驱动常见错误(不断更新)!

    工作中遇到的编写Linux驱动的常见错误和注意事项整理,将不断更新. 问题1.驱动的init函数声明错误 出错: [root@localhost]# insmod phyinfo.ko insmod: ...

最新文章

  1. WACV 2020 | 基于2D卷积处理成本签名的快速立体匹配
  2. TIOBE 8 月编程语言:C、Java 差距拉大,R 语言盛行
  3. Crontab命令格式
  4. 去除冗余token的DETR效果怎么样?NUS颜水成团队提出端到端的PnP-DETR结构
  5. 20160818_周报日志之二
  6. 战“疫”期,阿里云云效团队在家高效开发实录
  7. C++标准库bitset类型(简单使用方法)
  8. 局域网ftp工具,主要用于局域网简单的ftp上传和下载
  9. 从程序设计方法学的角度比较 SP 方法与OOP 方法
  10. UG二次开发(C#)—依据特征获取选择体对象
  11. JAVA的file.separate
  12. 毕业论文参考文献中出版社和出版地的查询
  13. 阿里云服务器 —— linux是什么样子的呢(适合新手,建议收藏!)
  14. ADP(自适应动态规划)-扩展HDP
  15. Hadoop大数据系列组键-部署
  16. 掌握这些Revit常见术语,从此BIM建模再无压力
  17. Linux-ssh隧道详解
  18. 海思HI3559A SDK文档说明
  19. 你要的能做出炫酷图表的网站来啦
  20. linux管理进程ps命令,ps命令进程管理-linux

热门文章

  1. itextsharp、Aspose.Words、Aspose.Cells联合使用
  2. 带有Powershell的XSLT
  3. 史上最强的MSN聊天记录!
  4. 常见的各种人提出的理论
  5. 作为架构师该如何面对系统和业务的复杂性?
  6. 2022年大一学生实训作业【基于HTML+CSS制作中华传统文化传统美德网站 (6页面)】
  7. Codechef April Challenge 2019 游记
  8. BZOJ 2959 长跑 (LCT+并查集)
  9. 西安电子科技大学计算机学院保研政策,西安电子科技大学计算机学院(专业学位)计算机技术保研条件...
  10. 计算机硬盘格式分类,fat32是什么?