Push an existing git repository to an existing SVN repository

I have been asked for a school project to submit my work by pushing it to an existing SVN repository. It is an existing repository with some files already there. I have no need for these files or the previous commits.

I have been working on my assignment with a git repository on my. I would like to push my work to the SVN repository without losing any history. How can I do this?

  • How semantic versioning fits into the git workflow
  • What git setup and commands can help managing private content on a public Github?
  • Push a commit in two branches with Git
  • Pushing a Git source tree, not just a repository
  • How to measure IOPS for a command in linux?
  • Is there a git plugin for the Delphi IDE?
  • Git for Perforce users
  • AWS Elastic Beanstalk (hook declined)
  • Failed to deploy to Github Pages using octopress
  • How to make a commit, or a change permanently local
  • Can I just copy .git to another directory?
  • Setup a Git server with msysgit on Windows
  • 2 Solutions collect form web for “Push an existing git repository to an existing SVN repository”

    I would do a mix. That is, first clone the svn with git svn. Then in this new repository, you merge your work from your current git repository.

    $ git svn clone http://svn.example.com/project/trunk
    $ cd trunk
    $ git checkout -b mywork
    $ git pull /path/to/current/work/repository/.git master

    Now you have your work in the mywork branch in the clone from subversion. Time to merge and push.

    $ git checkout master
    $ git merge mywork
    $ git svn dcommit


    You can, as a pre-requisite ensure that all your changes in git have been applied or merged into the master branch.

    Then you can run git-svn rebase to merge any updates from svn and finally git-svn dcommit to commit changes.

    There is a detailed explanation here – cf – http://www.viget.com/extend/effectively-using-git-with-subversion/

    Git Baby is a git and github fan, let's start git clone.