拉取 gerrit 空项目,初次 push 问题
管理员在 gerrit 创建了个新的仓库(空的),我本地拉取下来在首次推送的时候遇到了一些问题,记录一下。
由于远程仓库是个空仓库,所以clone时并没有检出 origin/master,本地master分支并不知道关联哪个远程分支,所以需要手动指定关联关系。
指定本地master关联远程origin/master
git branch --set-upstream-to=origin/master master
初次推送(push)
git push --set-upstream origin master:refs/for/master
- 推送操作(push)
git push origin HEAD:refs/for/master
在仓库根目录执行此命令,之后push 操作可以直接使用git push
git config remote.origin.push refs/heads/*:refs/for/*
ERROR:missing Change-Id in commit message
原因:某个 commit 缺少 changeId 信息,gerrit 不允许push。
解决:回滚到没有changeId的 commit 版本,执行如下命令,会给 commit 生成一个 changId
git commit --amend --no-edit
提交信息与gerrit配置的邮箱不一致,无法失败
reference:https://blog.csdn.net/oximing1/article/details/51200911