I have svn
version 1.6.11, that means it creates a
.svn folder in each subfolder
but I need to use svn cause is the official versioning tool at my job place.
I would like to use git, cause I feel more comfortable specially when working with branches.
Start with svn, checkout your repository.
svn co http://url/to/my/svn/repo
Tell svn to ignore git files
cd repo svn propedit svn:ignore .
and add the following entries
Tell git to ignore svn, create a .gitignore file with this content
Now create your git repository
Of course, don’t forget to run, at least once
git config --global user.email "[email protected]" git config --global user.name "Your Name"
Now you can start working on your git repository, first of all, add .gitignore file.
git add .gitignore git commit -m 'added .gitignore'
or even, if you just want to add every file in the svn repo
git commit -am 'init repo'
Follow this rule
The only rule you should keep is to use only the master branch in this svn+git folder. If you want to use your git workflow you may want to clone the repo locally.
So if you want to clone the repo do
git clone /path/to/svn+git/repo /path/to/git/repo cd /path/to/svn+git/repo git remote add upstream /path/to/git/repo
Then go to
/path/to/git/repo folder and start coding, using your favourite git branch model.
When you want to commit back to svn do
cd /path/to/svn+git/repo git pull upstream master svn add . svn commit -m 'blah blah ...'
Note that you cannot push from
/path/to/svn+git/repo cause it is not a bare git repository.
Both git and svn will ignore each other and everything will just work. Use Git to develop, then commit to a Subversion server and at the end, everyone 1 is happy!
1: Everyone means me and my boss :).