GitのタグをLocal / GitHub両方で掃除する方法

デモアプリを作っていると、定期的にtagを消して操作をやり直したくなることがあります。まぁ、CI/CD系のデモで「git tag v0.1.1を実施したら〜」的なコンテンツを書いているときの、スクショ作成などをやり直すときなどですね。そんな時に過去のタグを掃除する必要があるので、

広告ここから
広告ここまで

目次

    デモアプリを作っていると、定期的にtagを消して操作をやり直したくなることがあります。まぁ、CI/CD系のデモで「git tag v0.1.1を実施したら〜」的なコンテンツを書いているときの、スクショ作成などをやり直すときなどですね。そんな時に過去のタグを掃除する必要があるので、やり方を調べてまとめました。

    ローカルのタグ掃除はgit tag -d

    若干本末転倒ですが、消すためのタグを入れておきましょう。

    % git tag v0.0.0
    % git tag v0.0.1
    % git tag v0.0.2
    % git tag -l    
    v0.0.0
    v0.0.1
    v0.0.2

    削除自体はgit tag -d <version>で実施できます。

    % git tag -d v0.0.0
    Deleted tag 'v0.0.0' (was d6f1b8e)
    hidetaka@cci-hidetakaokamoto-l4379 tanstack-amplify-s3 % git tag -l       
    v0.0.1
    v0.0.2

    まとめてやる場合は、パイプを使います。

    % git tag -l 'v*' | xargs git tag -d 
    Deleted tag 'v0.0.1' (was d6f1b8e)
    Deleted tag 'v0.0.2' (was d6f1b8e)

    リモートのタグ掃除はgit push origin --delete

    GitHubにあるタグも消したい場合は、git pushコマンドを使いました。

     git push origin --delete v0.1.0

    タグがpushされているかどうかのチェックをしたい場合は、git ls-remoteコマンドを使います。

    git ls-remote --tags origin
    d6f1b8e8957bc1742f1ded5cxxxxxxxx	refs/tags/v0.1.0

    git ls-remote --tags origin 'refs/tags/v*'のような形でタグの種類を絞ることもできます。

    使う機会は少ない・・・かも?

    あんまりタグを消したいケースは多くないと思いますが、まぁ必要になることが多い職種も意外とありますよー。ということで。

    広告ここから
    広告ここまで
    Home
    Search
    Bookmark