Apr09
Posted in : git
Here’s a quick way to easily maintain a complete mirror of a git repository. This is especially useful for backup.
# go to your repository cd my_project # check your existing remote git remote -v # origin git@mydomain.tld:my_project.git (fetch) # origin git@mydomain.tld:my_project.git (push) # Add a new remote, a github.com private repository for example # the --mirror flag is what's different from a simple new remote git remote add --mirror git@github.com:Openhood/my_project.git # Check the new remote git remote -v # github git@github.com:Openhood/my_project.git (fetch) # github git@github.com:Openhood/my_project.git (push) # origin git@mydomain.tld:my_project.git (fetch) # origin git@mydomain.tld:my_project.git (push) # To discover the difference check you .git/config # the new remote has the config mirror = true cat .git/config # ... file start skipped ... # [remote "github"] # url = git@github.com:Openhood/my_project.git # fetch = +refs/*:refs/* # mirror = true # Now all you have to do to mirror your entire repository is git push github