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

Re: [BUG?] git checkout -b removes MERGE_HEAD

From
Jeff King <peff@peff.net>
Date
Nov 18, 2010, 19:26 UTC
Message-ID
<20101118192647.GD30438@sigill.intra.peff.net>
In-Reply-To
<7vwroabhng.fsf@alter.siamese.dyndns.org>
On Thu, Nov 18, 2010 at 10:39:31AM -0800, Junio C Hamano wrote:
Show 10 quoted lines
> I think it was an oversight by the author of 91dcdfd (Make "git checkout"
> create new branches on demand, 2005-07-11) who forgot that he also did
> ef0bfa2 (Remove MERGE_HEAD in "git checkout/reset", 2005-06-21).  The
> rationale for the removal of MERGE_HEAD from the earlier commit is:
> 
>     [this command] will end up resetting the index to some specific
>     head, and any unresolved merge will be forgotten [hence there is no
>     point recording the result as a merge].
> 
> but when used with -b no such "resetting of the index" happens.

It is not necessarily about "-b" is it? It is about moving to a different commit. So I would think that on branch "master":

  # should clear MERGE_HEAD
  git checkout foo
  # should not clear MERGE_HEAD; it's a no-op, and we have in the past
  # encouraged people to run this to see the ahead/behind count
  git checkout
  # or
  git checkout master
  # should clear MERGE_HEAD; we are moving to a new commit
  git checkout -b foo some_commit
  # should not clear MERGE_HEAD; this is Jan's case
  git checkout -b foo
  # or
  git checkout -b foo master
-Peff
Previous: Jan Hudec
Message 4 of 4 in “[BUG?] git checkout -b removes MERGE_HEAD”
  1. Jan HudecNov 18, 2010
  2. Junio C HamanoNov 18, 2010
  3. Jan HudecNov 18, 2010
  4. Jeff KingNov 18, 2010

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.