Git: リモートブランチを削除する
最終更新
ローカルでブランチを削除してもリモートからは削除されません。それは別の手順です。リモート(GitHub など)上のブランチを削除するには、git push origin --delete <branch> を実行します。その後も、他のクローンは古いリモート追跡参照を整理するまでブランチを表示し続けることがあります。
ターミナルプレイグラウンドで試してください。ブラウザ内の本物のシェルで、インストールは不要です。
構文
| Command | What it does |
|---|---|
git push origin --delete feature | リモート上の feature を削除する |
git push origin :feature | 古いコロン構文、同じ効果 |
git branch -d feature | ローカルでもブランチを削除する |
git fetch --prune | 古いリモート追跡ブランチを削除する |
完全なクリーンアップ
ブランチをあらゆる場所から削除し、古い参照を整理します。
| Step | Command | Result |
|---|---|---|
| 1 | git push origin --delete feature | リモートから削除された |
| 2 | git branch -d feature | ローカルで削除された |
| 3 | git fetch --prune | origin/feature の追跡参照を消去する |
Git リモートブランチ削除に関するよくある質問
Git でリモートブランチを削除するには?
git push origin --delete <branch> を実行します。これでリモート(たとえば GitHub)からブランチが削除されます。古い等価な書き方は git push origin :<branch> です。リモートブランチを削除してもローカルのコピーは削除されません。それは git branch -d <branch> で別途行ってください。ローカルブランチを削除するとリモートのブランチも削除されますか?
いいえ。
git branch -d はローカルリポジトリからブランチを削除するだけです。ブランチは git push origin --delete <branch> で明示的に削除するまでリモートに残ります。両者は独立しています。削除したブランチがまだ表示されるのはなぜですか?
他のクローンは、整理するまでリモート追跡参照(
origin/feature など)を保持します。リモートにもう存在しないブランチへの参照を削除するには、git fetch --prune(または git remote prune origin)を実行してください。--delete とコロン構文の違いは何ですか?
どちらも同じことを行います。
git push origin --delete <branch> はより明確な現代的な形式で、git push origin :<branch> は古い構文です(リモートブランチに「何もない」ものをプッシュし、それによって削除されます)。読みやすさのために --delete を使ってください。これをオンラインで練習できますか?
はい。ターミナルプレイグラウンドを開けば、ブラウザ内の本物のシェルでこれらのコマンドを実行できます。インストールは不要です。Coddy の無料のインタラクティブな Git コースでも、リモートの扱いをステップごとに学べます。