Git Add Another Remote to an Existing Repository
Jump to navigation
Jump to search
Internal
Overview
This article describes the procedure of adding a second remote to an existing repository. A practical situation when we would need something like this is when we developed an an application in an internal repository - for example a Gogs instance deployed within an OpenShift cluster - and we want to share the example in GitHub, while maintaining the internal repository fully operable. We start from a local repository fully synchronized with the Gogs repository:
git status On branch master Your branch is up-to-date with 'origin/master'. nothing to commit, working directory clean
git remote -v show origin https://gogs-cicd.apps.openshift.novaordis.io/gogs/novaordis-session-servlet.git (fetch) origin https://gogs-cicd.apps.openshift.novaordis.io/gogs/novaordis-session-servlet.git (push)
Procedure
=Create the Second Repository
Use GitHub's UI. For consistency, use the same repository name, though it is not necessary.
=Add the Second Remote
From the local repository, add the GitHub remote:
git remote add github git@github.com:NovaOrdis/novaordis-session-servlet.git
The remote is immediately added:
git remote -v show github git@github.com:NovaOrdis/novaordis-session-servlet.git (fetch) github git@github.com:NovaOrdis/novaordis-session-servlet.git (push) origin https://gogs-cicd.apps.openshift.novaordis.io/gogs/novaordis-session-servlet.git (fetch) origin https://gogs-cicd.apps.openshift.novaordis.io/gogs/novaordis-session-servlet.git (push)
and .git/config is updated accordingly
... [remote "github"] url = git@github.com:NovaOrdis/novaordis-session-servlet.git fetch = +refs/heads/*:refs/remotes/github/*