How To Delete Git Tag?


Git is a version control system that allows developers to keep track of changes made to a codebase over time. Git tags are labels assigned to specific points in the history of a repository. They serve as markers that identify important milestones such as releases, versions, or checkpoints in the development process.

Git tags are different from branches in that they are not meant to be updated or changed once they have been created. They provide an easy way to reference specific commits without having to remember the exact hash value associated with each commit.

Why Delete Git Tags?

While Git tags are useful, there may come a time when you need to delete them. Maybe you accidentally created a tag with the wrong name or want to clean up old tags cluttering your repository. It is important to know how to delete Git tags properly because deleting them improperly can cause issues for other developers working on the project.

In this article, we will go through the steps required for deleting Git tags properly and recover them if necessary. We will provide detailed instructions on how to delete both local and remote Git tags and offer tips on best practices for managing your repository's history effectively.

Preparing to Delete a Git Tag

Explain the importance of checking if the tag has been pushed to remote repositories

Before deleting a Git tag, it is crucial to check if the tag has been pushed to any remote repositories. If a tag has been pushed, deleting it locally will not remove it from the remote repository as well.

This can cause confusion and inconsistencies when collaborating with other team members or working on multiple machines. It is important to ensure that all copies of the repository have consistent tags.

Checking for remote tags can be done using the 'git ls-remote' command. This command shows all references (tags, branches, etc.) in a specified remote repository or all available remotes.

To check for tags in a specific remote repository, use an argument along with the command −

$ git ls-remote --tags [remote]  

This will list all tags in the specified remote repository. If no arguments are given along with 'git ls-remote', it will show all references in all available remotes.

Provide instructions on how to check for remote tags using git ls-remote command

To check for remote tags using 'git ls-remote' command, first open up your terminal and navigate to your local Git repository directory. Then run the following command −

$ git ls-remote --tags  

This will list all tags that exist within your local copy of the repository as well as any associated with any remotes you may have set up.

If you only want to see specific remotes, simply specify them by name like so −

$ git ls-remote --tags  

This will show you only the requested branch information from that specific target URL/URI location. After ensuring that no copies of the repo have conflicting or inconsistent tagged commits, you can proceed to delete the tag locally.

Deleting a Local Git Tag

A Step-by-Step Guide to Deleting a Local Git Tag

Deleting a local Git tag is relatively easy and can be done using the git tag -d command. However, it's worth noting that this command only deletes the local reference to the tag, not the actual commit or object associated with it. This means that even though you've deleted the tag locally, it still exists in your repository's history and will show up if you run git log.

To delete a local Git tag, follow these steps −

  • Open your terminal window and navigate to the repository where you want to delete the tag.

  • Run git tag -d , replacing with the name of the tag you want to delete.

  • Verify that the tag has been deleted by running git show-ref --tags.

It's important to note that deleting a local Git tag does not affect any remote repositories that may have copies of that same tag. If you've already pushed your tags to a remote repository, be sure to also delete those tags from there too (which will be covered in section IV).

Understanding What Happens When You Delete a Local Git Tag

When you use git tag -d command, all it does is remove the reference from your local repository. The commit object associated with that particular reference still exists in your repository's history and can be accessed or checked out at any time by using its SHA hash. So why would you want to delete a local Git tag?

There are many reasons why this could be necessary. For example, maybe you accidentally created two tags pointing at different commits but with identical names or maybe an old version of your code was tagged but has since been replaced and is no longer relevant.

By deleting unwanted tags from your local repository, it makes navigating through them easier and less cluttered. It also avoids confusion that can arise from having multiple tags pointing at different commits with the same name.

Deleting a Remote Git Tag

When it comes to deleting remote Git tags, the process is a bit more complex than simply deleting a local tag. This is because remote tags are shared across multiple repositories, and deleting a remote tag requires communication with the upstream repository.

If you delete a remote tag without properly communicating with the upstream repository, it can result in conflicts and issues for other developers who may be working on that repository. Therefore, it's important to follow the correct steps when deleting a remote Git tag.

To delete a remote Git tag, you need to use the git push --delete command followed by the name of the tag. This command will send a message to the upstream repository requesting that they delete the specified tag.

For example, if you want to delete a remote Git tag called "v1.0", you would run the following command −

git push --delete origin v1.0 

In this example, "origin" refers to the name of the upstream repository and "v1.0" is the name of the tag you want to delete. It's important to note that if other developers have already pulled this tag from your repository before you deleted it, they will still have access to it locally on their machines until they perform another pull request or fetch from your updated repository after deletion of that specific tag.


Proper management of Git tags is a crucial aspect of maintaining any Git repository. Creating tags enables users to record significant versions and milestones, making it easier to navigate the repository's history.

However, it is equally important to know how to delete tags when they are no longer needed or have been created in error. As we have seen in this article, deleting tags can be done for both local and remote repositories using simple commands such as git tag -d and git push --delete.

Updated on: 07-Jun-2023


Kickstart Your Career

Get certified by completing the course

Get Started