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

Re: git -- how to revert build to as-originally-cloned?

From
JLJohn Lumby <johnlumby@hotmail.com>
Date
May 20, 2011, 19:18 UTC
Message-ID
<4DD6BE8D.4080708@hotmail.com>
In-Reply-To
<20110520162502.7854.qmail@science.horizon.com>
On 05/20/11 12:25, George Spelvin wrote:
Show 5 quoted lines
> Er, no.  One "git merge" command produces (at most) one commit.
> It may be that the head of the branch you merged in was already
> a merge commit, but tha
>
> You may find "gitk" useful for for visualizing all of this.

I have tried gitk. Can you or someone tell me what the colours of the nodes in the top left signifies? Specifically, a commit of mine (done since all the merging I've been asking about) shows as yellow, whereas all the ones prior to that show as blue. (I have not altered or changed the colour scheme so it's whatever the default is)

Show 8 quoted lines
>
> A merge *is* exactly one commit.  A "merge commit" is just a commit with
> more than one ancestor.  Now, that merge can *point to* lots of other
> commits, but it doesn't exactly "consist of" them.
>
>
>
> Now, what might have happened to you was a "fast forward" merge.

Yes! actually in the output of the merge command (that I showed in my original posting) it said

Updating 72a8f97..1b1cb1f Fast-forward

Show 13 quoted lines
> If you have a history like this:
>
> o--o--o--a--b--c--d
>
> And you ask git to merge a and d together, the result will be simply d.
> Git, by default, avoids creating useless merges in such a case.  So if
> you merge in someone else's work, and you haven't done anything locally
> since their branch split off from your HEAD, the result will not include
> a merge commit at all.  (A NEW merge commit; they branch might include
> merge commits.)
>
> Since the top merges in your example are by Dave Miller (and not by you),
> it looks like that's what happened in this case.

Yes indeed, thanks for explaining. So what would be the correct way, before doing my fast-forward merge, to have made some kind of mark pointing at "a", which I could then have used to undo the fast-forward, without having to calculate the number of commits in between? (supposing my branch was not anchored at "a" but at some much earlier point)?

Cheers,    John Lumby
Previous: George SpelvinNext: Paul Ebermann
Message 2 of 5 in “RE: git -- how to revert build to as-originally-cloned?”
  1. George SpelvinMay 20, 2011
  2. John LumbyMay 20, 2011
  3. Paul EbermannMay 20, 2011
  4. George SpelvinMay 20, 2011
  5. George SpelvinMay 20, 2011

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.