Tagging can be used for anything, but is usually used to tag a specfic commit as a particular version or level of development and to specify something like an "alpha" or "beta" release.
Tip: Tag immediately after making the Commit you want the specific Tag to reference
My recommended simplified aproach. Use a .gitignore and then add, commit and push often, and tag only if needed before a push leaving annotations to commits - like so:
$ git add . $ git commit -m "removed collate feature and invoked strict validation for version 2.0. Testing completed with no errors and ready for release" $ git tag "v2.0" $ git push origin master $ git push origin --tags
List tags that has been used on your current system:
$ git tag
List tags matching a specific string:
$ git tag -l "v1.8.5*"
Annotating Tags using -a and -m operators
$ git tag -a v1.4 -m "my version 1.4 stable and ready for release"
Show tag data and the commit data
$ git show v1.4
Tagging a Commit, Multiple Commits Later
First lookup a list of recent commits made in your current workspace or machine, where you plan to create a tag.
$ git log --pretty=oneline
This should produce a list somewhat similar to the following
15027957951b64cf874c3557a0f3547bd83b3ff6 Merge branch 'experiment' a6b4c97498bd301d84096da251c98a07c7723e65 beginning write support 0d52aaab4479697da7686c15f77a3d64d9165190 one more thing 6d52a271eda8725415634dd79daabbc4d9b6008e Merge branch 'experiment' before go-live 0b7434d86859cc7b8c3d5e1dddfed66ff742fcbc added a commit function 4682c3261057305bdd616e23b64b0857d832627b added a todo file 166ae0c4d3f420721acbb115cc33848dfcc2121a started write support 9fceb02d0ae598e95dc970b74767f19372d61af8 updated readme.md 964f16d36dfccde844893cac5b347e7b3d44abbc commit the todo 8a5cbc430f1a9c3d00faaeffd07798508422908a updated readme
Now you should be able to identify the commit that is missing a tag. Suppose you forgot to tag go-live commit with a release v1.2, you can then do this by using just part of the checksum of the commit you want to tag
$ git tag v1.2 6d52a271
Pushing tags to a remote repository
By default, the "git push" command doesn’t transfer tags to remote servers. So to push a specific tag you can specify the tag like so
$ git push origin v1.5
If you want to just push all tags to the remote server
$ git push origin --tags
Deleting a Tag
$ git tag -d v1.4
This only deleted the tag on the machine you are working on. To delete the tag on the remote repository, do the following
$ git push origin --delete v1.4