tags:

views:

734

answers:

1

I have a local git repository which tracks a remote SVN repository via git svn. I have made and committed some changes in the local git repository, but now I'd like to create a branch that reflects SVN HEAD in order to make some changes to the code as it stands in SVN, because I don't want to propagate the changes in my git master to SVN just yet. How can I go about this?

Immediate follow-up: I will need to make and commit changes to SVN HEAD, then merge them back into my git master. How do I go about this? Do I git merge the 'svn-edits' branch into master, or do I do a git svn rebase?

+3  A: 

I will assume that the branch you are working on is the one for trunk (I will call it old-trunk). Simply create a new branch from there

git checkout -b real-trunk remotes/trunk

Now make your changes to real-trunk and commit from there. Afterwards, simply rebase your old branch on the new one.

git svn dcommit
git checkout old-trunk
git rebase real-trunk

Now your earlier changes are based on the more recent changes you just did.

Bombe