gerrit常见错误与处理 r囧r小猫 2022-12-03 05:30 1208阅读 0赞 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][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][http_gerrit.xiaohoucode.com_c_coding-cloud-platform_1673] closed) 可能原因:rebase导致 解决 Git log 找到本次提交的上次的commitId ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2gyNjA0Mzk2NzM5_size_16_color_FFFFFF_t_70][] 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_blog.csdn.net_liuskyter_article_details_100517652] [https://www.jianshu.com/p/a8a2ac58f37d][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][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][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:如下图, ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2gyNjA0Mzk2NzM5_size_16_color_FFFFFF_t_70 1][] 从上而下,我们用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][https_blog.csdn.net_zhouyan8603_article_details_92748700] 问题: 1 为什么没有changeId,什么场景会导致changeId丢失 不知道 2 重新push的时候为什么会conflict。只有我一个人用的分支在gerrit中提示 merge conflict 丢失changId后,push失败,修改changId中对应修改的文件,reset重新push,出现merge confilct [http_gerrit.xiaohoucode.com_c_coding-cloud-platform_623]: http://gerrit.xiaohoucode.com/c/coding-cloud-platform/+/623 [http_gerrit.xiaohoucode.com_c_coding-cloud-platform_1673]: http://gerrit.xiaohoucode.com/c/coding-cloud-platform/+/1673 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2gyNjA0Mzk2NzM5_size_16_color_FFFFFF_t_70]: /images/20221123/8b5618e9f6db4a3886f2ee93803f74e3.png [https_blog.csdn.net_liuskyter_article_details_100517652]: https://blog.csdn.net/liuskyter/article/details/100517652 [https_www.jianshu.com_p_a8a2ac58f37d]: https://www.jianshu.com/p/a8a2ac58f37d [https_www.klavor.com_dev_tutorial_2019_08_22_00004335.html]: https://www.klavor.com/dev/tutorial/2019/08/22/00004335.html [mazhen2_gerrit.xiaohoucode.com]: mailto:mazhen2@gerrit.xiaohoucode.com [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2gyNjA0Mzk2NzM5_size_16_color_FFFFFF_t_70 1]: /images/20221123/a240ebd7777a4b6eae1a44d469f60346.png [https_blog.csdn.net_zhouyan8603_article_details_92748700]: https://blog.csdn.net/zhouyan8603/article/details/92748700
相关 Java异常处理:常见错误与修复案例 Java异常处理是编程中一种重要的错误控制机制。以下是一些常见的Java错误及其修复案例: 1. null pointer exception (空指针异常) 例子: 我会带着你远行/ 2024年09月15日 05:18/ 0 赞/ 13 阅读
相关 Java异常处理常见错误:实例与修正方式 在Java异常处理中,常见的错误和修正方式如下: 1. **未捕获的异常**: 错误:如果方法中抛出了异常,但没有使用try-catch块来捕获这个异常,那么这个异常会 清疚/ 2024年09月14日 20:27/ 0 赞/ 11 阅读
相关 Java异常处理:理解与避免常见错误 在Java编程中,异常处理是一种机制,用于处理程序运行过程中可能出现的问题。以下是一些理解和避免常见Java异常错误的指导: 1. **理解基本类型和对象引用引起的异常**: 迷南。/ 2024年09月10日 06:03/ 0 赞/ 22 阅读
相关 Java中异常处理:常见错误与修复案例 在Java编程中,异常处理是必不可少的一部分。它允许程序员预测和处理程序运行过程中的错误情况。以下是一些常见的Java错误及其修复案例: 1. null pointer ex 妖狐艹你老母/ 2024年09月05日 20:21/ 0 赞/ 14 阅读
相关 npm常见错误的处理 npm常见错误的处理 一、清除缓存 npm cache clean --force 二、yarn : 无法加载文件 C:\\Users\\MI\\A 偏执的太偏执、/ 2023年02月16日 10:57/ 0 赞/ 140 阅读
相关 gerrit常见错误与处理 gerrit: gerrit :重复push 场景描述:如果push到gerrit后,gerrit未审批,然后再次push,此时未审批的提交会默认在提交一次,而我们可以 r囧r小猫/ 2022年12月03日 05:30/ 0 赞/ 1209 阅读
相关 Gerrit常见问题解决 由于要做代码审核,公司部分项目从gitlab上迁移到了gerrit系统上,很多人在使用中会经常出现以下问题,这里记录下。 问题:从gitlab上克隆了代码,并且已经进行了修改 - 日理万妓/ 2022年05月14日 00:54/ 0 赞/ 788 阅读
相关 PHP 常见的错误以及错误处理 1、常见的处理类型 在PHP中,错误用于指出语法、环境或编程问题。根据错误出现在编程过程中的不同环节,大致可以分为以下4类。 (1)、语法错误 (2)、 我不是女神ヾ/ 2022年02月25日 16:49/ 0 赞/ 325 阅读
相关 主从复制常见错误处理 (1) Last\_Errno: 1782 Last\_Error: Error executing row event: '@@SESSION.GTID\_NEXT c 冷不防/ 2021年12月07日 11:23/ 0 赞/ 318 阅读
还没有评论,来说两句吧...