需求:git 分支合並
問題:使用 git merge 在本地執行分支合並操作,然后想 push 到 gerrit 上評審入庫,可是在提交時,提示:
! [remote rejected] HEAD -> refs/for/dev (no new changes)
分析:no new changes 的意思,是說,這個合並,是個線性的合並。而合並的那些歷史的 commit 節點,在 gerrit 上都已經評審過了,都是已有的 change 單,所以 gerrit 認為沒有新的提交,就不讓你提交評審。
方法1: 在 git merge 的時候,加上 --no-ff 參數,是為了讓它生成一個新的 commit,這樣就可以提交了~(不過生成的 gerrit change 是看不到改動信息的)
方法2:不經過 gerrit,直接 push 入遠程庫。(不推薦)