Source code migration tools

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

We recommend using GitHub Importer to import projects from Subversion, Mercurial, Team Foundation Version Control (TFVC), or another Git repository. You can also use these external tools to convert your project to Git.

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.

For more information about moving from TFVC (a centralized version control system) to Git, see "Plan your Migration to Git" from the Microsoft docs site.

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

Further reading

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.