Koskamo

Remote-tracking branches and upstreams

Document v1 · published by Koskamo editorial · updated 2026-10-04

Original source

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.

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.

The original source supplies the underlying information. Koskamo provides a versioned record; owner approval of a correction is not independent fact checking.