Source code migration tools

You can use external tools to move your projects to GitHub.

Importing from Subversion

In a typical Subversion environment, multiple projects are stored in a single root repository. On GitHub, each of these projects will usually map to a separate Git repository for a user account or organization. We suggest importing each part of your Subversion repository to a separate GitHub repository if:

  • Collaborators need to check out or commit to that part of the project separately from the other parts
  • You want different parts to have their own access permissions

We recommend these tools for converting Subversion repositories to Git:

Importing from Mercurial

We recommend hg-fast-export for converting Mercurial repositories to Git.

Importing from TFVC

We recommend git-tfs for moving changes between TFVC and Git.

Tip: After you've successfully converted your project to Git, you can push it to GitHub.

Did this doc help you?Privacy policy

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

Or, learn how to contribute.