git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Running 'git pull' from an unnamed branch

From
Björn Steinbrink <b.steinbrink@gmx.de>
Date
Apr 5, 2009, 22:08 UTC
Message-ID
<20090405220855.GA20356@atjola.homenet>
In-Reply-To
<3f4fd2640904051433u199587c3wc9bf080d138944e7@mail.gmail.com>
On 2009.04.05 22:33:57 +0100, Reece Dunn wrote:
Show 26 quoted lines
> $ git pull
> You asked me to pull without telling me which branch you
> want to merge with, and 'branch..merge' in
> your configuration file does not tell me either.  Please
> name which branch you want to merge on the command line and
> try again (e.g. 'git pull <repository> <refspec>').
> See git-pull(1) for details on the refspec.
> 
> If you often merge with the same branch, you may want to
> configure the following variables in your configuration
> file:
> 
>     branch..remote = <nickname>
>     branch..merge = <remote-ref>
>     remote.<nickname>.url = <url>
>     remote.<nickname>.fetch = <refspec>
> 
> See git-config(1) for details.
> 
> $ git branch
> * (no branch)
>   master
> 
> Running `git checkout master && git pull` fixed the above issue. The
> patch below improves the error message for users that are in this
> state.
It doesn't "fix" anything, you're simply doing something different.

"git pull" while on a detached HEAD can't work, there are no defaults that could be used. But e.g. "git pull origin master" would do, fetching "master" from "origin" and merging it to the commit you have checked out.

Your "git checkout master && git pull" does something else. It uses the configured pull defaults for "master" to fetch something and merge it to "master".

> Also, is "branch..remote" valid? Should this be "branch.remote"?

That's a bug, but it should not be branch.remote. The config setting is branch.<name>.remote. As you were on a detached HEAD, there is no "<name>", and the code that generates the error message doesn't handle that correctly. I'd even say that in this case, the whole "If you often merge ..." part makes no sense at all, you simply can't setup pull defaults for a detached HEAD.

> +	echo "You may not be on a branch. In this case, you need to move"
> +	echo "onto the branch you want to pull to (usually master):"

Hm? Neither do you really need to move to a branch, nor is "master" really _that_ special that it is warranted to recommend checking it out... IMHO.

Björn
Previous: Markus HeidelbergNext: Reece Dunn
Message 6 of 12 in “Running 'git pull' from an unnamed branch”
  1. Reece DunnApr 5, 2009
  2. Sverre RabbelierApr 5, 2009
  3. Markus HeidelbergApr 5, 2009
  4. Reece DunnApr 5, 2009
  5. Markus HeidelbergApr 5, 2009
  6. Björn SteinbrinkApr 5, 2009
  7. Reece DunnApr 5, 2009
  8. Junio C HamanoApr 6, 2009
  9. Reece DunnApr 6, 2009
  10. Björn SteinbrinkApr 6, 2009
  11. Reece DunnApr 6, 2009
  12. Markus HeidelbergApr 6, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.