Subject: How to keep different version numbers in different branches?

From: Stephen Kelly <[email-masked]>
Date: Mon, 05 Apr 2010 16:34:07 +0200

Hi,

My project uses git and so far has only one branch, 'master'.

http://gitorious.org/grantlee/grantlee

I want to make a 0.1 release, so that would mean creating a 0.1 branch and 
updating files contained in the branch such as the README file and the CMake 
files and the api documentation to report version 0.1.0, and creating the 
0.1.0 tag. The next tag on that branch would be 0.1.1 etc. Simultaneously, 
the version number in those files is changes to 0.2.0 in the master branch.

However, now I have changes in my maintenance branch (0.1) which should not 
be merged into master (that is, the commits which change the version 
number). 

How are you supposed to handle that with git? Simply merge and resolve the 
conflict on master by keeping its version number? Am I missing some other 
way of doing it here?

Additionally, I have some stuff currently in master that should not be in 
the 0.1 release, but should be in the 0.2 release. If I branch and then 
remove those files from the 0.1 branch, a merge will then remove them from 
master too? How do I keep them on master but delete them on 0.1 and still be 
able to merge from 0.1 into master?

The only option I can think of are to do the merge, then revert the commit 
sha on master that does the delete.

Is that the recommended way of doing this? I have read the git workflows 
page, but it doesn't seem to cover either of these scenarios.

http://www.kernel.org/pub/software/scm/git/docs/gitworkflows.html

Thanks,

Steve.