Gitでリモートブランチを削除する方法
たまにしか実行しない手順は、次にやる時にはやり方を忘れてしまっていて調べ直したりするので、無駄を省くために書き残しておきましょう。
というわけで、まずはGitでリモートブランチを削除する方法です。
リモートブランチを削除するには、pushコマンドを使います。例えばoriginリポジトリのworkブランチを削除するには、次のようにします。
なぜこのgit pushでリモートブランチが削除されるかを説明します。git pushコマンドには次のようにパラメータを与えます。
ここで、普通の使い方では、<refspec>部分に対象となるブランチ名を指定します。例えば、workと書けば、ローカルブランチworkがリモートブランチにプッシュされるわけです。
しかし、正式には、<refspec>には「<src>:<dest>」という指定を行うことになっています。<src>にはローカルブランチ(実際には、任意のハッシュ値やHEAD~のような記法も使えます)、<dest>にはリモートブランチを指定します。
ですから、originリポジトリにworkブランチをプッシュする場合には、正式な書き方では次のようになります。
ただし、ローカルプランチとリモートブランチの名前が同じ場合には、次のように略して書けることになっています。これは普通のgit pushの書き方ですね。
さて、<refspec>に「:work」を指定するとどうなるでしょうか。これは、「空のローカルブランチ」をリモートブランチworkにプッシュするという意味になります。つまりリモートブランチworkを削除することになるのです。
もっとも、リポジトリをGitHubやGitLabに置いていれば、GUIで簡単にブランチを削除できてしまいますけどね。