Subject: Re: How to specify remote branch correctly

From: Tomas Carnecky <[email-masked]>
Date: Mon, 17 Dec 2012 05:30:45 +0000

On Mon, 17 Dec 2012 16:13:08 +1100, Andrew Ardill <[email-masked]> wrote:
> On 17 December 2012 16:06, Woody Wu <[email-masked]> wrote:
> > 1. git checkout foo.
> > By this command, I think I am checking out files in my local branch
> > named foo, and after that I also switch to the branch. Right?
> 
> Correct. Your working directory (files) switch over to whatever your
> local branch 'foo' points to, and your HEAD is updated to point to
> your local branch 'foo'. Unless something goes wrong/you have
> conflicting files/uncommitted changes etc.

'git checkout foo' has special meaning if a local branch with that name
doesn't exist but there is a remote branch with that name. In that case it's
equivalent to: git checkout -t -b foo origin/foo. Because that's what people
usually want.