Analog of SVN branch switch for Git
Working with Git in SVN based organization is possible and make a lot of benefits. Sources checked out once are now at you local repository, so all you do is commits, rebases and dcommits back to SVN. But sometimes you need to be able to switch to another SVN branch. You need something equivalent to “SVN switch” command inside Git environment.
I’m been trying to switch to new branch, but I found no related information about that. I ended up this solution, I would like to share.
- Manually add new configuration into
~/.gitconfig
, for new SVN location
[svn-remote "svn25"]
url = https://svn.server/branches/branch25
fetch = :refs/remotes/git-svn-25
- Fetch changes from svn25
git svn fetch svn25
- Checkout that branch
git checkout git-svn-25
- Create new “master” branch
git checkout -b master-25
-
Now, master-25 is your “master” for
branch25
SVN branch.
You can merge you previous changes.. and continue to work with master-25
as you worked with usual master.
Working with Git in SVN based organization is possible and make a lot of benefits. Sources checked out once are now at you local repository, so all you do is commits, rebases and dcommits back to SVN. But sometimes you need to be able to switch to another SVN branch. You need something equivalent to “SVN switch” command inside Git environment.
I’m been trying to switch to new branch, but I found no related information about that. I ended up this solution, I would like to share.
- Manually add new configuration into
~/.gitconfig
, for new SVN location - Fetch changes from svn25
- Checkout that branch
- Create new “master” branch
-
Now, master-25 is your “master” for
branch25
SVN branch.
[svn-remote "svn25"] url = https://svn.server/branches/branch25 fetch = :refs/remotes/git-svn-25
git svn fetch svn25
git checkout git-svn-25
git checkout -b master-25
You can merge you previous changes.. and continue to work with master-25
as you worked with usual master.