Subject: Re: Newbie grief

From: Rich Pixley <[email-masked]>
Date: Tue, 01 May 2012 11:52:01 -0700

On 5/1/12 11:20 , Michael Witten wrote:
> On Tue, May 1, 2012 at 18:15, Rich Pixley<[email-masked]>  wrote:
>
>> I want pull to work even without merging.  I want to be able to share a
>> branch between different repositories and different users while the source
>> code control system tracks this for me
>
> I believe you are missing the point that a `pull' in git is a `fetch'
> followed by a `merge'. You should read about the `fetch' command by
> reading (`git help fetch'), and make sure you understand how to use
> refspecs; you will probably find it very instructive to play around
> by specifying explicit refspecs to `git fetch' rather than relying
> on the implicit rules (which can be somewhat confusing).

Yes, I'm aware of the distinction within git.  Confusing is an 
understatement.  It seems that in most cases git has no defaults nor 
implicit rules and when it does, they are frequently surprising or 
unfathomable.  I suppose it's nice that they can be set explicitly, but 
sad that they pretty much must be.

That git uses the word "pull" to mean something different than previous 
source code control systems only adds to the confusion.  I was using 
"pull" in the more general sense of pushing and pulling data, not in the 
very narrow meaning of "git fetch + git merge".

I'm still pretty much lost on refspecs and refs.  The terms are 
apparently not used in the manuals I've been reading and they don't seem 
to be used consistently even within git error messages.

Is "refspec" the git word for the branch pointer that points to the 
childless commit that defines a branch?

--rich