How can I move a Git repository with all branches from Bitbucket to GitHub?

What is the best way to move a Git repository with all branches and full history from Bitbucket to GitHub?

Is there a script or a list of commands I have to use?


It's very simple.

  1. Create a new empty repository in GitHub (without a README or license, you can add them later) and the following screen will show.

  2. In the import code option, paste your Bitbucket repository's URL and voilà!!

Click Import code


You can refer to the GitHub page "Duplicating a repository"

It uses:

  • git clone --mirror: to clone every references (commits, tags, branches)
  • git push --mirror: to push everything

That would give:

git clone --mirror https://bitbucket.org/exampleuser/repository-to-mirror.git
# Make a bare mirrored clone of the repository

cd repository-to-mirror.git
git remote set-url --push origin https://github.com/exampleuser/mirrored
# Set the push location to your mirror

git push --mirror

As Noted in the comments by L S:

  • it is easier to use the Import Code feature from GitHub described by MarMass.
    See https://github.com/new/import
  • Unless... your repo includes a large file: the problem is, the import tool will fail without a clear error message. Only GitHub Support would be able to diagnose what happened.