Re: Terminology question about remote branches.

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Re: Terminology question about remote branches.

From: David Kastrup <hidden>
Date: 2016-06-15 22:43:26

"Lars Hjemli" [off-list ref] writes:
The magic setup that makes this happen is the following lines in .git/config:

[remote "origin"]
        url = git://git.kernel.org/pub/scm/git/git.git
        fetch = +refs/heads/*:refs/remotes/origin/*

[branch "master"]
        remote = origin
        merge = refs/heads/master


Was this helpful?
It would be helpful.  Except that nothing whatsoever can be found in
.git/config concerning my local and my remote tracking branches.  So
where is that information _really_ hidden away?

.git/FETCH_HEAD maybe?

It also appears that doing

git-checkout --track -b mybranch origin

on a git.git clone does _not_ create a tracking branch.  I can't
figure out what I could specify as an origin to create a tracking
branch that would get reflected in .git/FETCH_HEAD.

What gives?

-- 
David Kastrup, Kriemhildstr. 15, 44793 Bochum

Re: Terminology question about remote branches.

From: Julian Phillips <hidden>
Date: 2016-06-15 22:43:26

On Sat, 4 Aug 2007, David Kastrup wrote:
"Lars Hjemli" [off-list ref] writes:
quoted
The magic setup that makes this happen is the following lines in .git/config:

[remote "origin"]
        url = git://git.kernel.org/pub/scm/git/git.git
        fetch = +refs/heads/*:refs/remotes/origin/*

[branch "master"]
        remote = origin
        merge = refs/heads/master


Was this helpful?
It would be helpful.  Except that nothing whatsoever can be found in
.git/config concerning my local and my remote tracking branches.  So
where is that information _really_ hidden away?
It really is in .git/config, _provided_ that your repo was created by 
1.5.0 or newer.  Older versions had a more distributed setup using files 
in .git/remotes/ and .git/branches/
.git/FETCH_HEAD maybe?
Nope, that's just information about what got fetched last.  A purely 
temporary thing.
It also appears that doing

git-checkout --track -b mybranch origin

on a git.git clone does _not_ create a tracking branch.  I can't
figure out what I could specify as an origin to create a tracking
branch that would get reflected in .git/FETCH_HEAD.
With pre 1.5 you didn't get remote tracking branches in a separate 
namespace.  The default was to have a local branch called origin which was 
the "remote tracking branch" for the master branch - but this wasn't 
enforced.  So with your repo the origin branch _is_ the remote tracking 
branch ... or at least the closet a pre 1.5 setup gets.
What gives?
It would appear that your repo was created with an old version of git. 
Which also explains why you were talking about origin as a branch - which 
it used to be (a real local branch too ...), rather than as a remote - 
which it is now.

The whole remotes/tracking mechanism changed in 1.5.0 - now it's much more 
flexible (and probably more complicated too).

-- 
Julian

  ---
Ever notice that even the busiest people are never too busy to tell you
just how busy they are?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help