MENU

リモートで削除したブランチがローカルのGitに残っていたので同期した – git pruneの活用

目次

はじめに

ターミナルでGitコマンドの補完機能を使っているのだが、リモートで削除したはずのブランチが補完候補にでてきて鬱陶しかったので調べてみたら、git pruneコマンドというのを見つけた。

ブランチが削除された後のローカルリポジトリ

Gitの仕様として、ブランチがリモートリポジトリで削除されても、そのブランチはローカルリポジトリに残るようになっている。これはローカルとリモートが自動的に同期されないことで、誤って重要なブランチを削除してしまった場合でも、完全に失われるのを防ぐためらしい。

しかし、そのため手動で削除しないと古いブランチがローカルリポジトリにどんどん溜まっていく。

Git Pruneとは

ここでgit pruneの出番だ。git prune を使用することでリーカルリポジトリからすでにリモートに存在しないブランチを削除することができる。

Git Pruneの使い方

git fetch --prune

このコマンドは、ローカルリポジトリにリモートリポジトリの最新情報を取得し、リモートに存在しないブランチを削除する。つまり、すでにリモートで削除されているブランチをローカルからも削除する。

ただし、削除されるブランチは追跡ブランチ(tracking branch)だけで、ローカルで作成されたブランチは影響を受けない。

ちなみに次のようなコマンドを実行すると、最新情報の取得は行わずに、ローカルにあるがリモートには存在しないブランチを削除する。

git remote prune <remote>

まとめ

不要なブランチが補完候補に出てこなくなって嬉しい。新しくGitコマンドも知れて勉強にもなった。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次