$ git push origin HEAD:refs/for/p/gkui/g/22/r/dev_530
Enumerating objects: 129, done.
Counting objects: 100% (129/129), done.
Delta compression using up to 8 threads
Compressing objects: 100% (93/93), done.
Writing objects: 100% (101/101), 439.42 KiB | 1.78 MiB/s, done.
Total 101 (delta 26), reused 1 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (26/26)
remote: Processing changes: refs: 1, done
remote: commit b46e758: warning: subject >50 characters; use shorter first paragraph
To ssh://gerrit.xxxx.com:29418/xxx/apps/xxx
! [remote rejected] HEAD -> refs/for/p/gkui/g/22/r/dev_530 (change http://gerrit.xxxx.com:80/c/xxx/apps/xxx/+/79605 closed)
error: failed to push some refs to 'ssh://gerrit.xxx.com:29418/xxx/apps/xxx'
报错格式如上,其实是changeID有问题,我的操作步骤是rebase->push,然后changeID还用的旧的,并没有删除,然后push的时候Gerrit就会提示该changeID对应的PR已经关闭了,因为这个PR已经被我abondon。
解决办法很简单,把旧的changeID删除即可,然后保存。
命令:git commit --amend,然后删除changeID,wq保存即可。
重新push就成功了。