Gitで、リモートにあるブランチを削除する方法
$ git branch -r
origin/HEAD -> origin/master
origin/fuga
解説
$ git push --delete origin hoge
普通はこっちを使えばよいでしょう。コロン記法と動作は同じです。
$ git push origin :hoge
この構文の覚え方を説明します。2つポイントがあります。
- なぜ"git push"でブランチが削除されるのか。
- なぜブランチ名を":hoge"と書くのか
なぜ"git push"でリモートブランチが削除されるのか。
考え方としては、「"無"を送りつける」「nullで上書き」です。
Linuxいう/dev/null みたいなものです。
なぜブランチ名を":hoge"と書くのか
よい質問です。
そもそも、git pushの構文を確認しましょう。
git push [remotename] [localbranch]:[remotebranch]
普通pushするとき、このようにしますよね。
$ git push origin hoge
これは、正確に書くとこうなんです。
$ git push origin hoge:hoge
hoge:hoge は、左がローカルブランチ名、右がリモートブランチ名です。ここでローカルブランチ名をなしにすると、「nullで上書き」つまり「削除」になります。
リモートブランチhogeを削除
$ git push origin :hoge
なお、リモートブランチを削除してもローカルブランチ"hoge"には影響ありません。
ローカルブランチ"hoge"を消したい場合は別途削除しましょう。
ローカルブランチhogeを削除
$ git branch -d hoge
参考
Git で不要になったローカルブランチ・リモートブランチの削除 - sotarokのお勉強Pro Git - Pro Git 3.5 Git のブランチ機能 リモートブランチ
追記
--deleteオプションで消せることがわかったので記事を修正しました。コロン記法より直感的なのでおすすめです。
カテゴリ:
Git