GitHubを使っているプロジェクトで、あるタイミングでpullしたときに取得したトピックブランチが削除されてしまい、一方でローカルにはまだある、というときの対応。

以下のコマンドで差があるブランチを確認。

$ git remote prune --dry-run origin

削除されて問題ないと判断できたら--dry-runオプションを外して実行する。

$ git remote prune origin

こうすると、originのリモートリポジトリのブランチとローカルリポジトリのブランチの同期が取られる。

具体的にはリモートリポジトリで削除されているブランチで、トラッキングしているブランチが削除される。

参考

  • Git - 削除されたremoteブランチがローカルのRepoに残っていて、それを削除する方法 - Qiita