GitHubブランチをローカルおよびリモートで削除する方法

GitHubでブランチを削除するのは簡単そうに思えるかもしれませんが、ボタンをクリックしたりコマンドを実行したりするだけでは、実際には少し複雑な場合があります。特にローカルコピーとリモートリポジトリの両方を操作している場合は、すぐに混乱してしまう可能性があります。このガイドでは、コマンドラインに慣れている方にも、GitHubのWebインターフェースで操作するのが好きな方にも、ブランチを削除する一般的な方法を分かりやすく説明します。古いブランチがリポジトリに散らばっていると、少し面倒です。古いブランチを削除すると、整理整頓できるだけでなく、古いブランチへの誤ったコミットを防ぐこともできます。

GitHub ブランチを削除するにはどうすればいいですか?

方法1: ローカルブランチを削除する

このステップは、ローカルマシンをクリーンアップするためのものです。特に、ブランチを既にマージ済みの場合や、ワークスペースを整理したい場合に便利です。機能追加やバグ修正ブランチが完了し、リストを詰まらせる必要がなくなった場合に便利です。

  • ターミナルまたはコマンドプロンプトを開きます。Windowsの場合はPowerShellまたはコマンドプロンプト、Mac/Linuxの場合はターミナルを開きます。
  • リポジトリフォルダに移動します。通常は次のようなフォルダですcd /path/to/your/repo
  • ブランチを確認してください:git branch何かを削除する前に、そこに何があるか確認しておくと役に立ちます。
  • マージされたブランチを削除するには、次のコマンドをgit branch -d branch-name実行します。このコマンドは、マージされていない変更が削除されるのを防ぎます。マージされていない変更に関するエラーが表示される場合は、コミットを確認するか、forceコマンドを使用してください。
  • マージされていないブランチを本当に強制的に削除するには(安全性チェックが煩わしい場合があるので)git branch -D branch-name

これはローカルコピーにのみ影響し、リモートリポジトリには影響しません。多くの人がこれを忘れているので、注意してください。Windowsでは必要以上に操作が複雑になっているように感じることもありますが、Gitはそういうものです。

方法2: リモートブランチを削除する

GitHubのブランチを削除する準備はできましたか? リモートリポジトリ(GitHubのサーバー上にあるもの)からブランチを削除します。これで、他の誰もチェックアウトしたり変更したりできなくなります。重要な変更をマージまたはプッシュしたことを確認してください。そうしないと、ブランチが失われますのでご注意ください。

  • まず、リポジトリの状態を再確認し、必要な変更がプッシュまたはマージされていることを確認します。
  • 次のコマンドを実行します: git push origin --delete branch-name
  • または、次の省略形を使って同じことを行うこともできます: git push origin :branch-name。奇妙に感じることもありますが、同様に機能します。

この環境に優しいアプローチは、GitHubリポジトリを整理するのに役立ちます。設定によっては、削除コマンドに数秒かかったり、最初は何も起こらないように見えるかもしれませんが、GitHubページを更新するとブランチは削除されているはずです。当然ながら、GitHubは必要以上に手間取らせているからです。

方法3: GitHub Webインターフェースを使用する

コマンド入力よりもクリック操作を好みますか?問題ありません。サイト上で直接ブランチを削除する方法は次のとおりです。

  • 当然ですが、ブラウザでリポジトリを開きます。
  • [ブランチ]タブ (通常はリポジトリ名の下、コードまたはプル リクエストの横)に移動します。
  • 削除したいブランチを見つけます。特にブランチが数十個ある場合は、スクロールが必要になる場合があります。
  • その横にあるゴミ箱アイコン (🗑️) をクリックします。

これでブランチは消えました。私が見た限りでは、特にGitHubを閲覧中の場合は、これが最も早い方法です。ブランチが保護されている、またはデフォルトブランチであるという警告が表示される場合があります。その場合は、まずデフォルトブランチを変更する必要がありますが、GitHubではメインブランチを完全に削除するには切り替えが必要であり、面倒な作業になることがあります。

よくある質問

GitHub Desktop でブランチを削除するにはどうすればよいですか?

GitHub Desktopでは、 「ブランチ」メニューに移動し、ブランチを選択して「削除」をクリックします。操作は非常に直感的ですが、ブランチがチェックアウトされていない、または保護されていないことを確認してください。

削除したブランチを復元できますか?

はい、コミット内容を覚えているか、ブランチがローカルに残っている場合は復元できます。特にリモートから削除していない場合は、reflog やコミット履歴から見つけて再作成できる場合があります。

ブランチを削除するとコミットも削除されますか?

いいえ。コミット自体はリポジトリの履歴に残ります。ブランチは単なるポインタです。ページ自体を削除するのではなく、ブックマークを削除するようなものだと考えてください。

GitHub のメインブランチを削除できますか?

いいえ、そうではありません。デフォルトブランチ(mainmasterなど)は、まずデフォルトブランチを変更しない限り削除できません。これは、CI/CDパイプラインなどがこの機能に依存していることが多いため、安全のための機能です。

まとめ

GitHubで古いブランチを削除するには、コマンドとクリック操作を組み合わせます。どちらがお好みかはあなた次第です。覚えておくべき重要な点は、必要であればまずローカルで削除し、その後GitHubから削除してリポジトリを整理することです。古いブランチをまとめて削除すると、かなり満足感がありますし、後々の混乱を防ぐのにも役立ちます。リポジトリのブランチを少し整理するだけで、作業は完了です。

これによって誰かの時間が数時間短縮されるか、少なくともプロセスの煩わしさが軽減されることを願っています。

まとめ

  • ローカルクリーンアップにはgit branch -dまたは を使用します。git branch -D
  • 実行git push origin --delete branch-nameまたはgit push origin :branch-nameリモート削除を行います。
  • または、GitHub の Web インターフェースのゴミ箱アイコンをクリックして、視覚的にブランチを削除することもできます。
  • ブランチを削除してもコミットは削除されず、ポインタのみが削除されることに注意してください。