Back to March this year when I come to the company I'm working for now I need to work on a project which use Svn for version control system. But I have always been using Git except for a very short time in my early programming life in 2012. I definitely don't want to use Svn again. Fortunately Git is so powerful that it can event interact with Svn repositories.
The main command to realize this is git svn.
1. Clone
git svn clone url://path/to/repo -s
which is equivalent to
git svn clone url://path/to/repo -T trunk -b branches -t tags
2. Pull
git svn rebase
3. Push
git svn dcommit