【ツール活用|初心者向け】Git環境をクリーンに保とう!「git fetch –prune」で不要なブランチを一掃する方法

1. 導入:なぜgit fetch –pruneが必要なのか

開発プロジェクトが長期間続くと、GitHubなどのリモートリポジトリで「マージ済みの不要なブランチ」がどんどん削除されていきます。しかし、あなたのローカルPCには、その削除されたブランチの情報が「残骸」として残り続けてしまいます。
これにより、git branch -a を実行した際に大量の古いブランチ名が表示され、どれが現在必要なブランチなのか判別しづらくなってしまいます。この課題を解決し、Git環境を常にスッキリと保つために欠かせないのが「git fetch –prune」です。

2. 基礎知識:リモート追跡ブランチとは?

Gitには、ローカルにある自分のブランチとは別に、リモートリポジトリの最新状態を記憶しておく「リモート追跡ブランチ(remote-tracking branches)」という仕組みがあります。
通常、git fetchを実行するとリモートの情報を更新しますが、実は「リモートで削除されたブランチの情報」までは自動で消してくれません。この「リモートで消えたけどローカルに残っている情報」を整理するのが、–prune(剪定)オプションの役割です。

3. 実装:コマンド実行手順と自動化設定

まずは手動で試してみましょう。ターミナルを開き、以下のコマンドを入力してください。

git fetch –prune

これだけで、リモートで削除済みのブランチがローカルの参照リストから削除されます。
さらに便利にするために、毎回コマンドを打たなくても自動で整理されるように設定することも可能です。以下のコマンドを一度実行するだけで、今後は通常の「git fetch」を実行するたびに自動で不要な参照が削除されるようになります。

git config –global fetch.prune true

4. サンプルプログラム:整理前後の確認フロー

以下の手順で、コマンドの効果を実際に確認してみましょう。

1. まずは現在の状況を確認(不要なブランチが残っているかチェック)
git branch -a

2. 不要な追跡ブランチを削除する
–dry-runをつけると、削除されるブランチを事前に確認できます
git fetch –prune –dry-run

3. 実際に整理を実行
git fetch –prune

4. 完了!スッキリしたリストを確認
git branch -a

5. 応用・注意点:現場での活用と注意

現場で活用する際のポイントをいくつか紹介します。

・チーム開発での注意点
git fetch –pruneを実行しても、「ローカルで自分で作成したブランチ」は削除されません。あくまで「リモートと同期している追跡ブランチ」が対象ですので、安心して実行してください。

・なぜConfig設定がおすすめなのか
大規模な開発プロジェクトでは、1日に何度もプルリクエストがマージされます。手動で管理しているとどうしても忘れがちになるため、git config –global fetch.prune true を設定して自動化しておくのが、プロのエンジニアの標準的な設定です。

・混乱を防ぐために
もし「まだ作業途中のブランチが誤って消えてしまうのでは?」と不安な場合でも大丈夫です。リモート追跡ブランチを削除しただけでは、あなたのローカルブランチの作業内容には一切影響ありません。まずは安心して環境の整理を行ってみてください。

コメント

タイトルとURLをコピーしました