to track upstream remotes/origin/v1 branch and checks out ``v1`` into
the working directory.
+Some commands, like ``git status --branch`` and ``git branch --verbose``,
+report the difference between local and remote branches.
+Please remember they only do comparison with remote-tracking branches
+in your local repository, and the state of those remote-tracking
+branches can be outdated. To update remote-tracking branches you
+either fetch and merge (or rebase) commits from the remote repository
+or update remote-tracking branches without updating local branches.
+
Updating local and remote-tracking branches
-------------------------------------------
+To update remote-tracking branches without updating local branches run
+``git remote update [$REMOTE...]``. For example::
+
+ $ git remote update
+ $ git remote update origin
+
+
+Fetch and pull
+''''''''''''''
+
There is a major difference between
::
question's diminished even further: "whether to use rebase on
non-pushed commits?"
-That small question is for the team to decide. The author of the PEP
-recommends to use rebase when pulling, i.e. always do ``git pull
---rebase`` or even configure automatic setup of rebase for every new
-branch::
+That small question is for the team to decide. To preserve the beauty
+of linear history it's recommended to use rebase when pulling, i.e. do
+``git pull --rebase`` or even configure automatic setup of rebase for
+every new branch::
$ git config branch.autosetuprebase always