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
でも削除できる。こちらのほうが直観的かもしれない。