Re: DWIM "git checkout frotz" to "git checkout -b frotz origin/frotz"
- From
Clemens Buchacher <drizzd@aon.at>
- Date
- Jun 7, 2010, 19:32 UTC
- Message-ID
- <20100607193226.GA19789@localhost>
- In-Reply-To
- <vpqzkz6fy9m.fsf@bauges.imag.fr>
On Mon, Jun 07, 2010 at 09:17:25PM +0200, Matthieu Moy wrote:
Show 13 quoted lines
> Clemens Buchacher <drizzd@aon.at> writes: > > > But this is supposedly a feature which helps users who type "git > > checkout <branch>" by mistake, when they really wanted to do "git > > checkout -t <remote>/<branch>". > > Not sure what's the argument here, but aren't the two commands > equivalent? Do you prefer the second syntax "git checkout -t > <remote>/<branch>"? It's already a DWIM for "git checkout -b <branch> > -t <remote>/<branch>", and I find this one far more confusing: > > git checkout <remote>/<branch> => detaches HEAD > git checkout -t <remote>/<branch> => creates a local branch automatically
The intent with -t is clear. It is used only when you create a new branch. Also, you specify the remote branch you're going to create a new branch from.
"git checkout <branch>", on the other hand, will create a branch based on a remote branch, even though you neither asked for a new branch, nor did you specify any remote at all.