Gitではbranch -a
でリモート・リポジトリーも一覧できる。この一覧には既にリモートでは消されたリモート・リポジトリーも表示される。この一覧を更新するにはfetch --prune
を使うわけだが、いちいちそうするのは面倒くさい。どうやらfetch.prune
をtrue
にするとデフォルトで--prune
を付けてfetch
(及びpull
)を実行してくれるようだ。
$ git config --global fetch.prune true $ git fetch From https://github.com/hail2u/example x [deleted] (none) -> origin/deleted-branch
グローバルに設定して良い場合はこれで常に--prune
付きでfetch
とpull
が実行されるようになる。この設定はプロジェクト・ローカルで特定のリモートに対してのみにも設定でき、remote.origin.prune
をtrue
にするとorigin
に対してのみ--prune
付きで実行されるようになる。こちらはグローバルやローカルのfetch.prune
よりも強い。
この設定の有用性はリモート・リポジトリーの運用方法やブランチの切り方などによって変わってくる。プロジェクトごとに違うこともあるので、グローバルで設定するとまずいこともあるかもしれない。しかし、僕のようにpull --prune
すら知らなくて苦労してた人は、思い切ってグローバルで有効にするのも良いだろう。