リモートから削除されたブランチをローカルからも削除する

git fetchでリモートから取得したブランチはリモート側で削除してもorigin/xxxブランチとして残ったままになる。

git fetch--pruneオプションを付けることでリモートで削除されているorigin/xxxブランチも削除される。

git fetch --prune

リモートから削除されたタグをローカルからも削除する

--prune-tagsオプションを指定することでリモートから削除されたタグをローカルからも削除することができる。

git fetch --prune --prune-tags

タグを全て削除する

リモートから削除されたタグでなく、ローカルにのみ存在するタグを削除する場合は一度全て削除して再取得する。

git tag -l | xargs git tag -d
git fetch