Git Add Another Remote to an Existing Repository: Difference between revisions
Jump to navigation
Jump to search
Line 16: | Line 16: | ||
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 (fetch) | ||
origin https://gogs-cicd.apps.openshift.novaordis.io/gogs/novaordis-session-servlet.git (push) | 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/* |
Revision as of 21:56, 11 December 2017
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/*