gitでtagをリモートとローカルで削除する方法!
gitのtagを使うことで参照しやすいように特定のコミットに任意の名前をつけることができます。そのtagを使わなくなったりして不要になった場合は削除したいですよね。この記事ではgitでtagをリモートとローカルで削除する(remove)方法を紹介していきます。
gitでtagを削除したい
gitのtagとは参照しやすいように特定のコミットに任意の名前をつけることができる機能です。リリース時にコミットごとにバージョンをタグ付けして管理をするのに用いられることが多いです。
この記事では不要になったtagを削除したい場合に、削除する方法を紹介していきます。
gitでtagをリモートとローカルで削除する方法
ローカルのtagを削除する方法
まずはローカルのtagの削除方法を紹介します。
ローカルのタグ一覧を確認するにはgit tag
コマンドで確認することが出来ます。
> git tag
v1.0.0
v1.1.0
v1.2.0
v1.2.1
v2.1.0
それでは一番最新のv2.1.0
タグを削除してみたいと思います。
> git tag -d v2.1.0
Deleted tag 'v2.1.0' (was f401a36)
削除するにはgit tag
コマンドに-d
オプションでタグ名を指定することで指定のタグを削除することが出来ます。
> git tag
v1.0.0
v1.1.0
v1.2.0
v1.2.1
git tag
コマンドでローカルのタグ一覧を確認するとv2.1.0
が削除されているのが確認できます。
リモートのtagを削除する方法
ローカルでのtagを削除することが出来ました。では、リモートのtagも削除していきましょう。
GitHubなどに移動し、リモートリポジトリのタグを確認することも可能ですが、コマンドでもリモートのtagの一覧を確認することも出来ます。
> git ls-remote --tags
From https://github.com/〇〇〇〇/qumeru_repository.git
f401a36b1bef2671cacfe5e5d7a6cd26d5f1ba48 refs/tags/v1.0.0
f401a36b1bef2671cacfe5e5d7a6cd26d5f1ba48 refs/tags/v1.1.0
f401a36b1bef2671cacfe5e5d7a6cd26d5f1ba48 refs/tags/v1.2.0
f401a36b1bef2671cacfe5e5d7a6cd26d5f1ba48 refs/tags/v1.2.1
f401a36b1bef2671cacfe5e5d7a6cd26d5f1ba48 refs/tags/v2.1.0
ローカルでは削除したv2.1.0
のタグがリモートではまだ削除されていないのが確認できます。
それではリモートでもv2.1.0
タグを削除しましょう。
> git push origin --delete v2.1.0
To https://github.com/〇〇〇〇/qumeru_repository.git
- [deleted] v2.1.0
リモートのtagを削除するには--delete
オプションでタグ名を指定することで、指定したリモートのタグを削除することが出来ます。
> git ls-remote --tags
From https://github.com/〇〇〇〇/qumeru_repository.git
f401a36b1bef2671cacfe5e5d7a6cd26d5f1ba48 refs/tags/v1.0.0
f401a36b1bef2671cacfe5e5d7a6cd26d5f1ba48 refs/tags/v1.1.0
f401a36b1bef2671cacfe5e5d7a6cd26d5f1ba48 refs/tags/v1.2.0
f401a36b1bef2671cacfe5e5d7a6cd26d5f1ba48 refs/tags/v1.2.1
リモートでもv2.1.0
タグが削除されたことが確認できますね。
また、リモートのタグの削除は--delete
オプションだけでなく:
(コロン)を使用することでも削除することが出来ます。
> git push origin :v1.2.1
To https://github.com/〇〇〇〇/qumeru_repository.git
- [deleted] v1.2.1
> git ls-remote --tags
From https://github.com/〇〇〇〇/qumeru_repository.git
f401a36b1bef2671cacfe5e5d7a6cd26d5f1ba48 refs/tags/v1.0.0
f401a36b1bef2671cacfe5e5d7a6cd26d5f1ba48 refs/tags/v1.1.0
f401a36b1bef2671cacfe5e5d7a6cd26d5f1ba48 refs/tags/v1.2.0
git push origin :タグ名
でも指定したタグを削除できたのが確認できます。
:
(コロン)を付け忘れてpush
すると削除が反映されないので、気を付けてください。
