git push origin HEAD

これまで私は、gitでremoteにpushする際、下記のコマンドのように毎回ブランチ名を入力していました。

git push origin <ブランチ名>

しかし、どうやらカレントブランチをプッシュする場合、下記のようなコマンドでもremoteにpushすることができるようです。

git push origin HEAD

なぜgit push origin HEADでカレントブランチをpushできるのか?

それを説明するためには、「HEAD」とは何かを知る必要があります。

HEADを短く説明すると、「今自分がいるブランチを示してくれるポインタ」です。

例えば、masterとbranch-Aとbranch-Bという3つのブランチがあるとします。

画像1

gitは、この3つのブランチの内、現在どのブランチで作業を行なっているかを知るためにHEADを用いています。自分が作業をしているブランチがbranch-Bの場合、HEADはbranch-Bを指します。

そのため、この状況でgit push origin HEADを実行すると、branch-Bをリモートにpushするという挙動になります。

この記事が気に入ったらサポートをしてみませんか?