How to move a full Git repository
If you're wrangling multiple Git repositorites, you'll eventually want to move files from one to another. This tutorial will show you how you can move a full Git repository from one remote server to another. The steps below even allow you to choose which branches and tags to include.
Let’s call the original repository ORI and the new one NEW, here are the steps required to copy everything from ORI to NEW:
1. Create a local repository in the temp-dir directory using:
git clone <url to ORI repo> temp-dir
![clone ori repository](https://wac-cdn.atlassian.com/dam/jcr:9fb5cea3-dcd6-4743-b847-a852a9683d47/clone-ori-repo.png?cdnVersion=2550)
2. Go into the temp-dir directory.
3. To see a list of the different branches in ORI do:
git branch -a
![Bitbucket logo](https://wac-cdn.atlassian.com/dam/jcr:03116c1f-27e5-4a82-9b9b-806786578fb2/logos-bitbucket-icon-gradient-blue-121x109@2x.png?cdnVersion=2550)
SEE SOLUTION
Learn Git with Bitbucket Cloud
![git branch-a](https://wac-cdn.atlassian.com/dam/jcr:38e6c2f1-cfc8-47a7-9391-66944c0eacdf/git-branch-a.png?cdnVersion=2550)
4. Checkout all the branches that you want to copy from ORI to NEW using:
git checkout branch-name
![checkout-branches](https://wac-cdn.atlassian.com/dam/jcr:f290a19a-3d8b-46ee-ad34-18269d659905/checkout-branches.png?cdnVersion=2550)
5. Now fetch all the tags from ORI using:
git fetch --tags
![git-fetch-tags](https://wac-cdn.atlassian.com/dam/jcr:f933e76e-f773-4943-8bd2-935a696cea0d/git-fetch-tags.png?cdnVersion=2550)
6. Before doing the next step make sure to check your local tags and branches using the following commands:
git tag
git branch -a
![git-tag-and-git-branch-a](https://wac-cdn.atlassian.com/dam/jcr:789cf04f-ed2c-4ef8-8299-138b460b9751/git-tag-and-git-branch-a.png?cdnVersion=2550)
7. Now clear the link to the ORI repository with the following command:
git remote rm origin
8. Now link your local repository to your newly created NEW repository using the following command:
git remote add origin <url to NEW repo>
9. Now push all your branches and tags with these commands:
git push origin --all
git push --tags
![end-result](https://wac-cdn.atlassian.com/dam/jcr:2d1db8cb-7a28-46d0-8717-9afb0f1da244/end-result.png?cdnVersion=2550)
10. You now have a full copy from your ORI repo.
Extra
If you want to simply copy the entire repository you can use
git clone --mirror <url to ORI repo> temp-dir
to replace step 1 to 5.
Share this article
Next Topic
Recommended reading
Bookmark these resources to learn about types of DevOps teams, or for ongoing updates about DevOps at Atlassian.
![People collaborating using a wall full of tools](https://wac-cdn.atlassian.com/dam/jcr:2642fbab-a771-4961-9648-806c2fff25e5/bitbucket-blog-resized.png?cdnVersion=2550)
Bitbucket blog
![Devops illustration](https://wac-cdn.atlassian.com/dam/jcr:d1f1a28b-11fc-4e22-b6c8-d47832b39d53/devops-learning-path-resized.png?cdnVersion=2550)
DevOps learning path
![Demo Den Feature demos with Atlassian experts](https://wac-cdn.atlassian.com/dam/jcr:73c6bd92-448f-4ae7-a6c1-5f4695f78692/demo-den-resized.png?cdnVersion=2550)