>>梦想乡<<

Gerrit提交报错“Push rejected”

【问题描述】

gerrit版本:2.3.18

IDEA版本:2019.3.3

前面一天都还是能用的好好的,今天一提交就报错了,有些莫名其妙。其实,第一次使用的时候就曾经报错过,也是这样的错误。但是,当时主要是我每次都没有commit,直接通过IDEA提交空内容。后来,随便修改了一个文件,提交成功了。

但是,这次不一样。很奇怪,到处求爷爷告奶奶,最后使用了大招才搞定。

详细解决过程如下:

 

 

进入当前工程的目录(前提是系统有按照git,可以通过命令的方式操作git),输入命令

git push gerrit HEAD:refs/for/dev

 返回结果如下:

 

【问题解析】

咨询了一下大神,大神说,提交代码的时候,出现远端拒绝的错误,一般就两个问题。

第一,本地与服务端代码的源不一致。

这个源,主要包括分支、处于分支的位置,这两个方面只要一个不一致都会出现拒绝的错误。例如,我们提交代码的时候,如果我们本地不先拉取服务端的代码,直接commit提交的话,服务端是有可能会直接拒绝提交的。

因此,养成好习惯:

每天写代码前,先pull。

每次commit前,先pull。

每次push前,先pull。

 

第二,本地的代码commit的时候缺少了changeId,这个问题比较麻烦。可以参考一下这个链接,来解决。

https://www.ieclipse.cn/2016/05/14/other/tech-gerrit-guide/#comment

 

[解决方案]

1、拷贝整个工程项目

2、删除要提交代码的分支,一般都是dev分支。

3、重新拉取dev分支。

git checkout -b dev -t origin/dev

4、将原来的代码覆盖拉取回来的代码上。

5、commit.

6、push

git push origin HEAD:refs/for/dev

 

 

 

posted @ 2021-04-13 23:13  文苏  阅读(1319)  评论(0编辑  收藏  举报