This is an old revision of the document!
Overview
Remote tracking branches, and how they work.
Terminology
master: local tracking branchorigin/master: remote tracking branchmasteron remote system: remote branch
All of these branches can be “out of sync” with one another.
Simple example
Examples using the Linux kernel source repository.
$ git status On branch master Your branch is up to date with 'origin/master'. nothing to commit, working tree clean
$ git show master
commit 1c163f4c7b3f621efff9b28a47abb36f7378d783 (HEAD -> master, tag: v5.0, origin/master, origin/HEAD)
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date: Sun Mar 3 15:21:29 2019 -0800
Linux 5.0
diff --git a/Makefile b/Makefile
index ac5ac28a24e9..d5713e7b1e50 100644
--- a/Makefile
+++ b/Makefile
@@ -2,7 +2,7 @@
VERSION = 5
PATCHLEVEL = 0
SUBLEVEL = 0
-EXTRAVERSION = -rc8
+EXTRAVERSION =
NAME = Shy Crocodile
# *DOCUMENTATION*
$
$ git show origin/master
commit 1c163f4c7b3f621efff9b28a47abb36f7378d783 (HEAD -> master, tag: v5.0, origin/master, origin/HEAD)
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date: Sun Mar 3 15:21:29 2019 -0800
Linux 5.0
diff --git a/Makefile b/Makefile
index ac5ac28a24e9..d5713e7b1e50 100644
--- a/Makefile
+++ b/Makefile
@@ -2,7 +2,7 @@
VERSION = 5
PATCHLEVEL = 0
SUBLEVEL = 0
-EXTRAVERSION = -rc8
+EXTRAVERSION =
NAME = Shy Crocodile
# *DOCUMENTATION*
$
Fetch, but do not merge, which updates the remote tracking branch, but not the local tracking branch:
$ git fetch remote: Counting objects: 53547, done. remote: Compressing objects: 100% (20826/20826), done. remote: Total 53547 (delta 38450), reused 43614 (delta 32435) Receiving objects: 100% (53547/53547), 41.90 MiB | 11.16 MiB/s, done. Resolving deltas: 100% (38450/38450), done. From https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux 1c163f4c7b3f..1fc1cd8399ab master -> origin/master $
git status will now show that you are considerably behind the remote tracking branch:
$ git status On branch master Your branch is behind 'origin/master' by 6622 commits, and can be fast-forwarded. (use "git pull" to update your local branch) nothing to commit, working tree clean $
And you can show the tip of origin/master:
$ git show origin/master
commit 1fc1cd8399ab5541a488a7e47b2f21537dd76c2d (origin/master, origin/HEAD)
Merge: abf7c3d8ddea 6a613d24effc
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date: Thu Mar 7 10:11:41 2019 -0800
Merge branch 'for-5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
Pull cgroup updates from Tejun Heo:
- Oleg's pids controller accounting update which gets rid of rcu delay
in pids accounting updates
- rstat (cgroup hierarchical stat collection mechanism) optimization
- Doc updates
* 'for-5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
cpuset: remove unused task_has_mempolicy()
cgroup, rstat: Don't flush subtree root unless necessary
cgroup: add documentation for pids.events file
Documentation: cgroup-v2: eliminate markup warnings
MAINTAINERS: Update cgroup entry
cgroup/pids: turn cgroup_subsys->free() into cgroup_subsys->release() to fix the accounting
$