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

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM