Last active
July 1, 2025 18:41
-
Star
(975)
You must be signed in to star a gist -
Fork
(297)
You must be signed in to fork a gist
-
-
Save niksumeiko/8972566 to your computer and use it in GitHub Desktop.
Revisions
-
Nik Schumacher revised this gist
Feb 13, 2014 . 1 changed file with 3 additions and 3 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -6,12 +6,12 @@ # 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 # View all "old repo" local and remote branches: git branch -a # If some of the remotes/ branches doesn't have a local copy, -
Nik Schumacher created this gist
Feb 13, 2014 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,48 @@ #!/bin/bash # 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: git fetch origin # 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 [email protected]: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.