なぜ git push コマンドでリモートブランチが削除できるのか

前回の記事で、GitHub 上の master ブランチを削除するときに使った git push コマンドで、なぜコロン「:」を使うとリモートブランチが削除できるのか、の解説。

ドンズバに解説しているサイトがあったので紹介。

本来、git push コマンドは以下のように使うことで、別のブランチへの push ができる。

$ git push 【ローカルのブランチ名】:【リモートのブランチ名】

# ローカルの dev ブランチからリモートの master ブランチに push する
$ git push dev:master

git push origin hoge はリモート・ローカルのどちらも hoge を指定する、という省略した書き方だったのです!

これが分かれば、ローカルのブランチ名 部分に何も指定しないことで、リモートのブランチを削除する、という動きになることも分かると思う。

$ git push origin 【何も書かない】:【リモートのブランチ名】

# リモートの master ブランチを削除する
$ git push origin :master