32.10.2 开发者向审核服务器提交

    由Gerrit控制的Git版本库不能直接提交,因为正确设置的Gerrit服务器,会拒绝用户直接向refs/heads/*推送。


    $git status #On branch master #Your branch is ahead of 'origin/master' by 1 commit. # nothing to commit(working directory clean) $git push Counting objects:5,done. Writing objects:100%(3/3),332 bytes,done. Total 3(delta 0),reused 0(delta 0) To ssh://localhost:29418/hello.git ![remote rejected]master->master(prohibited by Gerrit) error:failed to push some refs to 'ssh://localhost:29418/hello.git'

    直接推送就会遇到"prohibited by Gerrit"的错误。

    正确的做法是向特殊的引用推送,这样Gerrit会自动将新提交转换为评审任务。


    $git push origin HEAD:refs/for/master Counting objects:5,done. Writing objects:100%(3/3),332 bytes,done. Total 3(delta 0),reused 0(delta 0) To ssh://localhost:29418/hello.git *[new branch]HEAD->refs/for/master

    看到了吗,向refs/for/master推送成功。