違いは何ですか:
git push origin HEAD:refs/for/master
と
git push オリジン refs/for/master
2 番目のコマンドも、変更をリモート リポジトリにプッシュしorigin
て HEAD を移動するべきではありませんか?
'refspec' オプションは 'repository' 名に従っています。
--help ページによると、refspec の形式は次のとおりです。
<source ref>:<destination ref>
通常、refs はブランチの名前であり、'source ref' を使用して 'destination ref' を更新することを意味します。
そう
git push origin HEAD:refs/for/master
HEAD(現在のブランチ)を使用してリモートマスターを更新することを意味し
ます。「宛先参照」部分を省略することもできます。その場合、git は「source ref」とまったく同じ名前のリモート ブランチを見つけようとします。
そう
git push origin refs/for/master
ローカルの 'refs/for/master' ブランチを使用してリモートの 'refs/for/master' ブランチを更新することを意味します。
ただし、/for/ は、ローカル リポジトリではなく gerrit によって使用されます。そのため、git はローカルの 'refs/for/master' ブランチを見つけることができず、何もできません。