Matías Tailanian

Ph.D. and Msc. in Applied Mathematics, Vision and Machine Learning.

Migrate repository origin | Matías Tailanian

Migrate repository origin

July 25, 2022

Migrate repository origin

Sometimes you need to move your existing git repository to a new remote repository (/new remote origin).

Here are a simple and quick steps that does exactly this.

Let’s assume we call old repo the repository you wish to move, and new repo the one you wish to move to.

Step 1.

Make sure you have a local copy of all old repo branches and tags.

Fetch all of the remote branches and tags

git fetch origin

Make a local copy of all remote brances

View all old repo local and remote branches

git branch -a

If some of the remotes/ branches doesn’t have a local copy, checkout to create a local copy of the missing ones:

git checkout -b <branch> origin/<branch>

Now we have to have all remote branches locally.

Step 2. Add a new repo as a new remote origin:

git remote add new-origin git@github.com:user/repo.git

Step 3. Push all local branches and tags to a new repo.

Push all local branches (note we’re pushing to new-origin):

git push --all new-origin

Push all tags:

git push --tags new-origin

Step 4. Remove old repo origin and its dependencies.

View existing remotes (you’ll see 2 remotes for both fetch and push)

git remote -v

Remove old repo remote

git remote rm origin

Rename new repo remote into just origin

git remote rename new-origin origin

Done! Now your local git repo is connected to “new repo” remote which has all the branches, tags and commits history.

Taken from here