We have been happily using Bitbucket over the last years. But as more and more tools offer better out-of-the-box integration with Gitub, we increasingly move our repositories over to Github.
Here are the steps to move a private Git repository:
Step 1: Create Github repository
First, create a new private repository on Github.com. It’s important to keep the repository empty, e.g. don’t check option Initialize this repository with a README when creating the repository.
Step 2: Move existing content
Next, we need to fill the Github repository with the content from our Bitbucket repository:
- Check out the existing repository from Bitbucket:
$ git clone https://USER@bitbucket.org/USER/PROJECT.git
2. Add the new Github repository as upstream remote of the repository checked out from Bitbucket:
$ cd PROJECT
$ git remote add upstream https://github.com:USER/PROJECT.git
3. Push all branches (below: just master) and tags to the Github repository:
$ git push upstream master
$ git push --tags upstream
Step 3: Clean up old repository
Finally, we need to ensure that developers don’t get confused by having two repositories for the same project. Here is how to delete the Bitbucket repository:
- Double check that the Github repository has all content
- Go to the web interface of the old Bitbucket repository
- Select menu option Setting > Delete repository
- Add the URL of the new Github repository as redirect URL
With that, the repository completely settled into its new home at Github. Let all the developers know!
Want to learn more about coding? Have a look to our other articles.
Photo: Erich Ferdinand