首先来看看git push origin HEAD:refs/for/master的格式解析:
总体格式:git push <remote 名字> <本地分支的名字> : <远程库的名字>
git push :表示推送代码到远程服务器。
origin : 表示远程的库的名字。
master:表示远程分支的名字。
HEAD: 表示一个特别的指针,指向你正在工作的本地分支的指针,可以当做是本地分支的别名。git通过它可以知道当前工作区间在哪个分支。
refs/for :表示我们提交代码到服务器之后是需要经过code review 之后才能进行merge操作的,而refs/heads是不需要的。
错误:
![remote rejected] HEAD -> refs/for/master
error: failed to push some refs to ‘ssh://xxxxxxx’
原因:复用了上一次的提交的ID
解决方法1:
需要在gerrit上对上一次错误提交进行Abandon操作;
回退到上一次的commit版本,重新进行commit,然后进行git push提交。
解决方法2:
更多内容见第一代码:https://www.diyidaima.com/blogs/218.html