Re: remote tracking branches

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Feb 25, 2009 at 12:41 PM, John Dlugosz
<JDlugosz@xxxxxxxxxxxxxxxx> wrote:
> The repository on my machine was apparently originally a simple file
> copy from another development machine, or set up manually.  That is, was
> not done by using the "git clone" command.  I have a [remote "pub"] in
> the config file with only a url in it, so I can use "pub" when I push
> and pull.
>
> The command "git branch -r" shows nothing.
>
> So, there are no remote tracking branches.  So what?  At first, I think
> that this is nothing more than the defaults to use when pulling, to get
> everything.  But, the example at the very end of Chapter 1 of the user
> manual shows:
>        fetch = +refs/heads/*:refs/remotes/linux-nfs/*
>
> I don't have a refs/remotes directory now.  So what does
>        git pull pub xx
> do?  The _result_ is just fine, as expected.  But if pull calls fetch,
> it needs to fetch it to some temporary place first and then merge that,
> right?

FETCH_HEAD is the temporary place.

> If I add a suitable line to my config file (changing linux-nfs in the
> example to pub to match the remote name), what does that buy me?  But
> first, is that all I need to do to enable this feature?

Yes.

$ git config remote.pub.fetch "+refs/heads/*:refs/remotes/pub/*"

will command fetch to store what it retrieves under refs/remotes/pub
as well as in FETCH_HEAD.

> I'm guessing that it means I will be able to examine, e.g. using gitk,
> what is in pub, to see if there are changes I need and keep apprised of
> other's work.

Well it also lets you track every branch that is on pub. Otherwise
you're only retrieving whatever HEAD is on the remote. You may also
find it more natural to examine changes before merging them w/remote
tracking branches. e.g.:

$ git fetch
$ git log pub/master..master

Oh, and "git branch -v" can now tell you how far ahead/behind your
local branch is compared to the remote tracking branch.

j.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux