GitHubを使っていて、pullrequestがマージされた時にブランチも一緒に消すことが多い。
すると、GitHub上ではブランチは削除されるのだけど、ローカルには残ってしまう。
$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/hoge
remotes/origin/master
上の例だとremotes/origin/hogeが残る。
これを放置していると、remotes/origin/fuga、remotes/origin/piyoと徐々に増殖して行き、いつの間にか大変なことになっている。
そんな時、git fetch --pruneを使うと、リモートで削除されたブランチをガーッと削除してくれる。
$ git fetch --prune
x [deleted] (none) -> origin/hoge
x [deleted] (none) -> origin/fuga
x [deleted] (none) -> origin/piyo
気持ちが良い。
プルーンと聞くと、ミキプルーンの苗木を思い浮かべてしまうので「?」と思い調べてみたら、「余分な枝を切り払う」的な意味だったので納得した。
英語力大事。