「代码评审」Gerrit remote rejected no new changes error:failed to push some refs to 错误的解决办法
因为公司代码评审使用的是gerrit,而今天提交代码到gerrit时报了如下的错误:
1 2 3 4 5 6 7 8 9 10 11
| Enumerating objects: 17, done. Counting objects: 100% (17/17), done. Delta compression using up to 8 threads Compressing objects: 100% (7/7), done. Writing objects: 100% (9/9), 961 bytes | 480.00 KiB/s, done. Total 9 (delta 5), reused 0 (delta 0) remote: Resolving deltas: 100% (5/5) remote: Processing changes: refs: 1, done To ssh://gerrit.devlang.org:9999/app/android-framewark ! [remote rejected] HEAD -> refs/for/dev (no new changes) error: failed to push some refs to 'ssh://klavor@gerrit.devlang.org:9999/app/android-framewark'
|
试了很多次之后发现依旧报了同样的错误。
后来登录到了gerrit上查看提交记录,发现commit已经成功push上去了。所以导致这个报错的原因是gerrit上已经包含了具有同样commitid的提交了,如果你确认这个具有相同commitid的提交不是同一笔(一般不会出现),可以通过git commit --amend
打开commit mesage编辑状态,然后不需要修改任何东西,然后输入:wq
保存退出,这个时候commitid就发生了变化了,这时再提交应该就没有问题了,如果还是报了同样的错误,肯定是这次提交已经存在了,从错误提示里的no new changes可以看出,更改后的内容和gerrit里的是一致的,不需要再次提交。
如果还有疑问可以在下方评论区留言。