tags:

views:

157

answers:

3

A tag in GIT from what I understand is just marking a particular commit with a name.

So say I release version 1.5, I create a tag 1.5

Now if a customer finds a bug, how do I go and 'checkout' that 1.5 codebase to my working directory?

I guess that I would perform the bug fix, then create another tag like 1.5.1.

Then I would potentially merge that code into the current version right?

+1  A: 
git tag <1.5> -a

Then push it with

git push --tags

I found that you can then find tags checkout using:

git tag -l
git checkout <tag>

Found more info on a previous SO post

Alex Marcotte
+1  A: 

Now if a customer finds a bug, how do I go and 'checkout' that 1.5 codebase to my working directory?

git checkout -b fix1point5 v1.5

I guess that I would perform the bug fix, then create another tag like 1.5.1.

[edit edit]
git add .
git commit
git tag v1.5.1 HEAD

Then I would potentially merge that code into the current version right?

git checkout master
git merge v1.5.1
Randal Schwartz
The `HEAD` there is redundant, but I strongly feel that [git tag does the wrong thing by default](http://www.rockstarprogrammer.org/post/2008/oct/16/git-tag-does-wrong-thing-default/).
Dustin
+1  A: 
git checkout 1.5

This will check out the 1.5 tag to your working directory. Then you can make any fixes you like, and then make another tag for version 1.5.1.

After this, simply check out back to master (or whatever branch you are developing on), and perform the following command:

git merge 1.5.1

This will merge the changes you made to the latest version of your codebase.

Veeti