ちぎっては投げるブログ

Programming, Android, RaspberryPi, Digital Devices, Kinkuma Hamster...

Gitのリモートブランチを消すコマンドの覚え方

Gitでリモートブランチを削除するときは、:をつける。

例えば以下のように。

git push origin :test_branch

でも、なんでコロンなのかはよく知らなかった。その理由を記載しておく。

そもそもpushコマンドの動作は?

ふだん、ブランチをpushするときは、

git push origin test_branch

のように書く。しかしこれは、実は省略形である。本当は、

git push origin test_branch:test_branch

と書く。

先に書いたtest_branchは、srcを意味し、コロンのあとに書いたtest_branchはdstを意味する。つまり、ローカルのtest_branchで、リモートのtest_branchを書き換えますよ、という意味である。

削除するときのコマンドは?

ここで立ち戻って、

git push origin :test_branch

を見てみると、srcが空で、dstがtest_branchであると読める。よって、空のブランチでリモートのtest_branchを書き換えるよ、を意味し、つまりリモートのtest_branchを削除する、ということになる。

このように、なぜそう書くのか?の理由を覚えておくと、コマンドを覚えておきやすい。

他の削除方法

ちなみに、

git push --delete origin test_branch

でも削除できる。こちらのほうが直観的かもしれない。