I've been working on a branch, say '2.1' and made a few commits on
it. We've made a release and tagged the changeset at which the commit
was produced, say 'tag2.1'.

   Development continued and a few more commits were made on that
branch, the '2.1'.

   As the development goes, we think it would be a better idea to
create a branch '2.2' that starts at the tag where the release was
made and keep '2.1' only for the maintenance of that release.

So here's what we have at the moment:

branch 2.1 :  A   <-   B   <-   C   <-   D   <-   ...    <- K

Here is what we would like to have:

changesets C up to K to be on a branch 2.2 starting at 'tag2.1':

branch 2.1: A   <-   B
branch 2.2:            <-   C'   <-   D'   <-    E'   <-   ...    <- K'

Any hints?

I tried a few things like:

$ git checkout 2.1
$ git branch 2.2 'tag2.1'
$ git reset --hard 'tag2.1'

But that left me with an inconsistent repo...

$ git checkout 2.1
$ git branch tmp 'tag2.1'
$ git branch 2.2 'tag2.1'
$ git rebase --onti 2.2 tmp 2.1

But did not leave me with the expected result either.

Any hint is welcome.


- Eric

Eric Parent
blog: http://eric-parent.blogspot.com/

You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To post to this group, send email to git-users@googlegroups.com.
To unsubscribe from this group, send email to 
For more options, visit this group at 

Reply via email to