Thread (1 message) 1 message, 1 author, 2016-06-15

Re: Question about "branch.<name>.merge"

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:50:48

Josh Ralburton [off-list ref] writes:
This is a typical section from a .git config file:

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

I am curious why "branch.master.merge=refs/heads/master"  was
implemented to refer to the remote branch (refs/heads/master) rather
than the local branch (refs/remotes/origin/master).
Because conceptually you are merging with the refs/heads/master branch
that exists at the "origin" repository, not merging with a remote tracking
branch that the "origin" repository may have to track its upstream.

It is immaterial that you happen to have a copy of it at your own remote
tracking branch (i.e. refs/remotes/origin/master).  If you don't need
tracking branches, you can even do something like this:

	[remote "origin"]
                url = git://...there
        [branch "master"]
		remote = origin
                merge = refs/heads/master

Notice that you are telling git not to create any remote tracking branches
with this configuration.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help