LoginSignup
34
34

More than 5 years have passed since last update.

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

Posted at

いわゆる 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
34
34
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
34
34