Git - Remote (Tracked Repository)


A remote in Git is a remote repository (ie a remote git server).

Git remote manage the set of repositories (“remotes”) whose branches you track.

They are also called tracked repositories in reference to tracking branch.

See also:


Remote repository definition

The name of one of the following can be used instead of a URL as repository argument:

  • a remote in the Git configuration file: $GIT_DIR/config,
  • a file in the $GIT_DIR/remotes directory, or
  • a file in the $GIT_DIR/branches directory.

All of these also allow you to omit the refspec from the command line because they each contain a refspec which git will use by default.

Named remote in configuration file

Name of a remote configured using:

  • git remote
  • or git config (The remote configuration is achieved using the remote.origin.url and remote.origin.fetch configuration variables).
  • or a manual edit to the $GIT_DIR/config file.

The URL of this remote will be used to access the repository.

The refspec of this remote will be used by default when you do not provide a refspec on the command line. The entry in the config file would appear like this:

[remote "<name>"]
    url = <url>
    pushurl = <pushurl>
    push = <refspec>
    fetch = <refspec>


  • The <pushurl> is used for pushes only. It is optional and defaults to <url>.

Named file in $GIT_DIR/remotes

You can choose to provide the name of a file in $GIT_DIR/remotes. The URL in this file will be used to access the repository.

The refspec in this file will be used as default when you do not provide a refspec on the command line.

This file should have the following format:

URL: one of the above URL format
Push: <refspec>
Pull: <refspec>


Multiple Push: and Pull: lines may be specified for additional branch mappings.

Named file in $GIT_DIR/branches

<branch> is the name of a file in $GIT_DIR/branches. Git - Branch

The URL in this file will be used to access the repository. This file should have the following format:



  • <url> is required;
  • #<head> is optional (defaults to master)





  • Git remote
git remote

  • Git - Branch (List or delete (if used with -d) the remote-tracking branches)
git branch --remotes
* master

git config --get-regex remote


Add a remote.


git remote add aliasRemote


git remote -v
origin (fetch)
origin (push)

relocate (Update URL)

git remote set-url origin http://newUrl.git

fetch (Update local)

Git - Fetch (Remote Repository Sync)

push (Update remote)

Git - Push


Each remote has a directory under .git/refs/remotes/

Documentation / Reference

Discover More

is a content-addressable file system used to track directory tree content (as defined by its creator Linux Torvald) It's not a version control...
Git - Clone

git clone creates a clone known as local repository from a remote repository. cloning in git means: downloading the remote repository into a newly created directory setting for each downloaded branch...
Git - Credential

Git makes use of a credential helper (an external utility) to be able to retrieve the credentials) The id of a credential (user, ww) is a URL (Credential context) It will lookup a credential with the...
Git - Current / working / HEAD / active branch

The current or active branch is: the branch checked out actually in the working tree The current branch is also known as the HEAD branch (in uppercase) that represents the last commit known...
Git - Fetch (Remote Repository Sync)

A fetch will sync information locally from a remote repository. It will mostly git fetch: download new remote branch download all commits added since the last fetch to the actual branch ( The head...
Git - Fork (Upstream)

A fork is an entire copy of a repository. The original repository of a fork is known as the upstream repository. It has the same concept as a upstream branch. see To sync your local repo with...
Git - Getting Started

An article that takes the basic steps in order to set up a Git repository When you want to set up a repository, you face generally two options: you want to create a fresh install from a Git repository...
Git - Git (executable|command line)

The git executable where: --git-dir is the location of the repository files --work-tree is the location of the work tree Command Description add Add file contents to the index add--interactive...
Git - Project

A project seems to be a remote repository. The project root
Git - Pull

git pull incorporates commit (changes) from: a remote repository into the current branch. In its default mode, git pull is a shorthand for: git fetch followed by git merge ie git merge FETCH_HEAD...

Share this page:
Follow us:
Task Runner