I would do it like this. Say I'm on the master branch:

$ git branch
* master (is tracking the remotes/trunk svn branch)

So, on this branch I have a few local commits. Let's make a new branch based 
on this one, called temp:

$ git branch temp

So, now let us bring our master/trunk back into the central subversion 
state. Remember that your work is safe in the temp branch:

$ git reset --hard remotes/trunk

Now, let's create your feature branch in subversion:

$ git svn branch featureA

and check it out and track it as a svn branch:

$ git checkout -tb remotes/featureA featureA

So, our feature branch is ready. Let's get those commits of the temp branch:

$ git merge temp

and commit them to svn:

$ git svn dcommit

Done, your local work stored safely on a subversion branch.

All this being said, maybe you would be better off just pushing the git 
branch ("temp") to a central/backup git repository. Our team does it like 
that, cause working with Subversion branches is such a pain, and we all know 
how to get stuff out of git branches.

You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To view this discussion on the web visit 
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