ローカルおよびリモートで Git ブランチを削除する方法
ローカル ブランチとそのリモート コピーは 2 つの別個のものです。ここでは、それぞれの削除方法、一般的なエラーの意味、古い参照をクリーンアップする方法、誤って削除したブランチを回復する方法を説明します。
作者 Kodmora
GitTree の背後にあるソフトウェア ハウス
- ブランチ
- リモートとプッシュ
- 元に戻すと回復
このページでは
ローカル ブランチを削除するには、`git branch -d branch-name` を実行します。リモートで削除するには、`git push origin --delete branch-name` を実行します。 これらは別のアクションです。一方を削除すると、もう一方はそのまま残ります。ブランチにマージされていないコミットがある場合、Git は最初のコマンドを拒否するため、作業が保護されます。
| 目標 | 指示 |
|---|---|
| マージされたローカル ブランチを削除する | git branch -d feature/search |
| マージされていないローカル ブランチを強制削除する | git branch -D feature/search |
| リモート上のブランチを削除する | git push origin --delete feature/search |
| 古いリモート追跡参照を削除する | git fetch --prune |
ローカル Git ブランチを削除するにはどうすればよいですか?
Git は現在使用しているブランチを削除しないため、最初に切り替えてください。次に、それを削除します。
git switch main
git branch -d feature/searchGit はブランチの最後のコミットを出力します。これが最も簡単に元に戻す方法なので、しばらくこのハッシュを保持してください。
Deleted branch feature/search (was 4f2a9c1).リモートブランチを削除するにはどうすればよいですか?
git push origin --delete feature/searchこれにより、そのリモートを使用しているすべてのユーザーのブランチが削除されるため、まだブランチを必要としている人がいないこと、およびそのプル リクエストが閉じられていることを確認してください。ローカル コピーも削除するまで残ります。
削除エラーは何を意味しますか?
| メッセージ | 意味 | 修正 |
|---|---|---|
not fully merged | ブランチには、アップストリームまたは HEAD にないコミットがあります。 | マージするか、確実に必要ない場合は -D を使用してください。 |
cannot delete branch … used by worktree | あなたはここ、または別のワークツリー上にいます。 | git switch main を実行するか、他のワークツリーを削除します。 |
remote ref does not exist | ブランチはすでにリモートから削除されています。 | git fetch --prune を実行して、古いコピーを消去します。 |
git リモート プルーン オリジンは何をしますか?
誰かがリモート上のブランチを削除すると、リポジトリは削除するまでその origin/feature/search 参照を保持します。プルーニングにより、古い参照が削除されます。ローカルブランチには決して影響しません。
git fetch --prune
# or, without fetching anything new
git remote prune originどのローカル ブランチがリモート コピーを失ったかを確認するには、詳細リストで gone を探します。
git branch -vv削除されたブランチを元に戻すにはどうすればよいですか?
ブランチはコミットの名前にすぎないため、ブランチを削除してもコミットがすぐに削除されるわけではありません。 Git で出力されたハッシュから名前を再度作成するか、reflog で見つけます。
git branch feature/search 4f2a9c1
# no hash? search the reflog
git reflogこれはすぐに実行してください。到達不能なコミットは最終的にガベージ コレクションによってクリーンアップされます。 ドロップされたスタッシュまたは削除されたブランチの回復 に関する投稿ではより困難なケースについて説明し、ブランチと切り替え に関するレッスンではブランチが非常に安い理由を説明しています。
GitTree のブランチを削除する方法
ブランチのメニューを開く
グラフ内の分岐ラベルを右クリックします。メニューは各アクションのブランチに名前を付けます。
削除を選択します
GitTree は、何が削除されるか、そして最後のコミットが
refs/ogt/trashに保存されることを示します。 キャンセルがデフォルトなので、機能/検索の削除を押して確定します。リモートコピーも削除します
削除…とorigin/…は両方を削除します。両方削除で確認されます。リモートで削除されたブランチを GitTree から戻すことはできません。
気が変わりましたか?
ローカル削除の直後にツールバーの 元に戻す を押して、ブランチを元に戻します。
ブランチの名前変更と削除 のガイドに詳細が記載されており、代わりに名前の変更については ブランチの名前変更方法 で説明されています。

よくある質問
ブランチを削除すると、そのコミットも削除されますか?
今すぐではありません。他のブランチのコミットはそのまま残ります。そのブランチ上のコミットのみが到達不能になり、ガベージ コレクションによって削除されるまで復元できます。
git Branch -d と -D の違いは何ですか?
-d は、マージされていないコミットを持つブランチの削除を拒否します。いずれにしても -D は削除するため、確実な場合にのみ使用してください。
ローカルブランチを削除するとリモートブランチも削除されますか?
いいえ、それらは別のものです。リモートには git push origin --delete branch-name を使用します。
削除されたリモート ブランチがまだ表示されるのはなぜですか?
リポジトリにはまだリモート追跡参照が含まれています。 git fetch --prune を実行して削除します。
複数のブランチを一度に削除できますか?
はい。 git branch -d one two three はリストした各名前を削除し、git push origin --delete one two はリモート上で同じことを行います。
情報源
他の製品に関する申し立ては、2026年11月7日 の公式ページと照合して確認されました。価格と機能は変更されます。ベンダーのページが真実の情報源です。