to track upstream remotes/origin/v1 branch and checks out ``v1`` into
the working directory.
+Some commands, like ``git status``, 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
-------------------------------------------
for caveats; in 2.4 the push-to-deploy feature was `further improved
<https://github.com/blog/1994-git-2-4-atomic-pushes-push-to-deploy-and-more#push-to-deploy-improvements>`_.
+To update remote-tracking branches without updating local branches run
+``git remote update [$REMOTE...]``. For example::
+
+ $ git remote update
+ $ git remote update origin
+
Tags
''''
<https://git.kernel.org/cgit/git/git.git/tree/gitweb>`_ or `cgit
<http://git.zx2c4.com/cgit/about/>`_. Both are CGI scripts (written in
Perl and C). In addition to web interface both provide read-only dumb
-http access for git (http(s):// URLs).
+http access for git (http(s):// URLs). `Klaus
+<https://pypi.python.org/pypi/klaus>`_ is a small and simple WSGI web
+server that implements both web interface and git smart HTTP
+transport; supports Python 2 and Python 3, performs syntax
+highlighting.
There are also more advanced web-based development environments that
include ability to manage users, groups and projects; private,