有什么区别:
git push origin HEAD:refs / for / master
和
git push origin refs / for / master
第二个命令是否也应该将更改推送到远程仓库origin
并移动HEAD?
答案 0 :(得分:3)
'refspec'选项遵循'repository'名称。
根据--help页面refspec是
的形式<source ref>:<destination ref>
refs通常是分支的名称,这意味着你使用'source ref'来更新'destination ref' 所以
git push origin HEAD:refs/for/master
表示使用HEAD(当前分支)更新远程主站
您也可以省略'destination ref'部分。如果你这样做,git会尝试找到名称与'source ref'完全相同的远程分支。
所以
git push origin refs/for/master
表示使用本地'refs / for / master'分支来更新远程'refs / for / master'分支。
但/ for /由gerrit使用而不是您的本地存储库。所以git找不到本地'refs / for / master'分支,也无法做任何事情。