Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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?

like image 227
swalkner Avatar asked Apr 07 '14 08:04

swalkner


People also ask

How do I push all branches to GitHub?

Pushing all branches to default remote Now you would have to push all commits of all branches with git push --all github . To simplify that aswell you can run git push --all github -u once and now all you'll have to do is git push . This will now by default push all branches to the default remote github.

How do I push all branches to a remote repository?

The steps to follow in order to push new Git branches to remote repos such as GitHub, GitLab or Bitbucket are as follows: Clone the remote Git repo locally. Create a new branch with the branch, switch or checkout commands. Perform a git push with the –set-upstream option to set the remote repo for the new branch.


2 Answers

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

like image 148
MarMass Avatar answered Oct 03 '22 11:10

MarMass


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.
like image 32
VonC Avatar answered Oct 03 '22 09:10

VonC