Search code examples
gitgithubgit-branchgit-svngit-tag

Add new commit to the existing Git tag


I have created a Git tag as v1.1 using

git tag -a v1.1 -m 'my version 1.1'

and I pushed that tag. Later, I made some changes related to v1.1. Now when I push new changes and check the git tag using git describe it is showing me v1.1-g2dcc97.

How can I add my new commit to the existing tag?


Solution

  • You can't put a new commit into an existing tag without breaking an important Git guideline: Never(*) modify commits that you have published.

    Tags in Git aren't meant to be mutable. Once you push a tag out there, leave it alone.

    You can, however, add some changes on top of v1.1 and release something like v1.1.1 or v1.2. One way of doing that would be

    # Create a new branch from tag v1.1
    git checkout -b newbranch v1.1
    
    # Do some work and commit it
    
    # Create a new tag from your work
    git tag -a -m "Tag version 1.1.1, a bugfix release" v1.1.1
    

    (*) Unless you have a really super special reason for doing so, and only if you completely understand the implications, and even then, don't make a habit of it.