DEV Community

SaKKo
SaKKo

Posted on

1 1

Completely move GIT from one provider to another.

I googled around a lot to see how to move git repository from one remote host to another.

In cloning, my goal is to

  • Make sure that all branches on source remote is cloned
  • Make sure that all tags on source remote is cloned

Then after cloning, my goal is to

  • Push all branches to another remote host
  • Push all tags to another remote host

The way to do this is simple. I've done this with over 20 of my repositories.

  • Bitbucket -> Github
  • Bitbucket -> another bitbucket
  • Github -> Bitbucket
  • Github -> another github
  • Github -> Gitlab
  • Bitbucket -> Gitlab

Let's get started

  • Note:
  • TEMP_REPO_FOLDERNAME is just a folder name. Any name is ok.
  • SOURCE_REMOTE_URL is a source (original) git repository url. It can be http or ssh.
  • example: https://github.com/SaKKo/SKTipAlertView.git
  • NEW_REMOTE_URL is where you want to move your repository to. (must be blank repo).
  • example: https://sakko@bitbucket.org/sakko/SKTipAlertView.git

Let's begin (replace TEMP_REPO_FOLDERNAME SOURCE_REMOTE_URL NEW_REMOTE_URL with what you want then just run the code).

mkdir TEMP_REPO_FOLDERNAME # create a new folder
cd TEMP_REPO_FOLDERNAME
git init --bare .git # create a bare repo
git remote add origin SOURCE_REMOTE_URL # add a remote
git fetch origin refs/heads/*:refs/heads/* # fetch heads
git fetch origin refs/tags/*:refs/tags/* # fetch tags
git init # reinit work tree
git checkout master # checkout a branch
git remote rm origin # remove remote repo
git remote add origin NEW_REMOTE_URL # new remote url
git push -u origin master # now push master
git push --all # now push all other branches

Done!
Hope you find this useful :D

Heroku

Build apps, not infrastructure.

Dealing with servers, hardware, and infrastructure can take up your valuable time. Discover the benefits of Heroku, the PaaS of choice for developers since 2007.

Visit Site

Top comments (0)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more