From: "Eric Parent" <parent.eri...@gmail.com>
Sent: Sunday, June 17, 2012 2:12 PM
Hi,

  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:

                        (tag2.1)
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':

                       (tag2.1)
branch 2.1: A   <-   B
branch 2.2: <- C' <- D' <- E' <- ... <- K'

Any hints?

One option, for a small repo/team, is to rename branch 2.1 to branch 2.2, and then start a 'new' branch 2.1 from the tag 2.1.
This makes your local repo look like what you are wanting.

git branch (-m | -M) [<oldbranch>] <newbranch>
git branch [--set-upstream | --track | --no-track] [-l] [-f] <branchname> [<start-point>]

However this does break history for any remeote repo, or work colleagues, so you would have to force update the remote repo and send colleagues a an apologetic update message.

You will want to ensure that the tracking is correct after your update, but it's not a problem.


Philip


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.

Cheers!

--
- Eric

--
Eric Parent
mailto:parent.eri...@gmail.com
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 
git-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/git-users?hl=en.

Reply via email to