Remote-tracking branches are local references to the state of branches on a remote, named in the form <remote>/<branch> such as origin/master. You cannot move them yourself; Git moves them whenever you do network communication, so git fetch origin updates your local database and moves origin/master forward. Cloning names the source origin — a default from git clone, not a special name — and creates origin/master plus a local master branch to work from. A tracking branch is a local branch with a direct relationship to a remote branch, called its upstream: on a tracking branch, git pull knows which server to fetch from and which branch to merge in. Create one with git checkout --track origin/serverfix, or git checkout -b sf origin/serverfix for a different name; if the branch name you check out does not exist locally and exactly matches a name on only one remote, Git creates the tracking branch for you. Point an existing branch at an upstream with git branch -u origin/serverfix, reference the upstream with the @{upstream} or @{u} shorthand, and list all tracking relationships with git branch -vv. Scope: Git. Reviewed October 4, 2026.
Remote-tracking branches and upstreams
Document v1 · published by Koskamo editorial · updated 2026-10-04
Source and provenance
- Original source
- git-scm.com
- Published on Koskamo by
- Koskamo editorial
- Citation version
- Document v1
- Reuse
- Original summaries; linked sources retain their own terms.