Information Technology Reference
In-Depth Information
They will not collide with the local branches that are stored in
.git/refs/
heads
. That's the whole trick.
The remote tracking branches stored in
.git/refs/remotes
, such as
.git/
refs/remotes/foo/a
, can be shortened to
foo/a
. And you can use them as or-
dinary pointers to revisions. Whenever you need an SHA-1 of a revision you can use
foo/a
just as you would use any other method to refer to commits,
HEAD
,
master-
∼
5
,
doc^2
, to name a few.
When you consider synchronization, the three important types of branches are:
• Remote branches
• Local tracking branches
• Remote tracking branches
The relationship between them and the way
$ git commit
,
$ git fetch
,
$
git push
influence them is depicted in
Figure 10-29
.
Figure 10-29
.
The effect of $ git commit, $ git fetch, and $ git push on three types of branches
Here is the summary of
Figure 10-29
: