How To Add a Git Remote

Updated on

2 min read

Git Remote Add

Usually, when working with Git, you’ll use only one remote named origin and different branches for different features and environments. Origin is the name of the remote that automatically created when you clone a repository and points to the cloned repository.

However, when collaborating on a project with a group of people, you may find using multiple Git remotes very handy.

Git remotes are pointers to the versions of the repository that are typically stored on other servers.

This guide explains how to add a new Git remote.

Adding a Git Remote

The remote repository must exist before you add the git remote to your local repository. You can create the repository on a Git hosting service such as GitHub, GitLab, and BitBucket or on your private Git server .

To add a new remote, navigate to the directory your repository is stored at and use the git remote add command followed by the remote name, and the remote URL:

git remote add <remote-name> <remote-url>

For example, to add a new remote named staging pointing to the git@gitserver.com:user/repo_name.git URL you would type:

git remote add staging git@gitserver.com:user/repo_name.git

Use the git remote command to list the remote connections and verify that the new remote was successfully added:

git remote -v

The output will look something like this:

origin	https://github.com/user/repo_name.git (fetch)
origin	https://github.com/user/repo_name.git (push)
staging	git@gitserver.com:user/repo_name.git (fetch)
staging	git@gitserver.com:user/repo_name.git (push)

What the git remote add command actually does is modify the repository .git/config file and a new connection to the remote repository.

.git/config
...

[remote "staging"]
        url = git@gitserver.com:user/repo_name.git
        fetch = +refs/heads/*:refs/remotes/staging/*

You can add a new remote by editing the .git/config file with a text editor , but using the command is much easier.

That’s it. You have successfully added a new Git remote.

To push your code to the new remote, you would use:

git push <remote-name> <branch-name>

To fetch and pull from the remote use:

git fetch <remote-name>git pull <remote-name>

Conclusion

Adding a new Git remote is just a matter of one command. Git remotes are very useful and allow you to have multiple repositories.

If you hit a problem or have feedback, leave a comment below.