いわゆる git fetch origin --prune
のタグ版です。
普通に git fetch origin --prune --tags
で大丈夫かと思ったのですがバージョンによって動作が違いました。
$ git tag oreore
$ git fetch origin --prune --tags
$ git tag -l
version | 動作 | メモ |
---|---|---|
1.9.4 | ☓ | |
1.8.5 | ○ | |
1.7.6 | ☓ | origin/master などのリモート追跡ブランチが全部削除された!? |
--tags
ではなく refspec を指定すると次のようになりました。
$ git tag oreore
$ git fetch origin --prune 'refs/tags/*:refs/tags/*'
$ git tag -l
version | 動作 | メモ |
---|---|---|
1.9.4 | ○ | |
1.8.5 | ○ | |
1.7.6 | ☓ | origin/master などのリモート追跡ブランチが全部削除された!? |
どのバージョンでも動作させるには、次のように全て削除してから fetch し直すのが良さそうです。
$ git tag oreore
$ git tag -l | xargs git tag -d
$ git fetch origin --tags
$ git tag -l
version | 動作 | メモ |
---|---|---|
1.9.4 | ○ | |
1.8.5 | ○ | |
1.7.6 | ○ |