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

Re: can git reset or checkout be reverted?

From
Sitaram Chamarty <sitaramc@gmail.com>
Date
Feb 6, 2009, 16:03 UTC
Message-ID
<slrngoonqk.urh.sitaramc@sitaramc.homelinux.net>
In-Reply-To
<20090206141940.GB7231@b2j>
On 2009-02-06, bill lam <cbill.lam@gmail.com> wrote:
Show 9 quoted lines
> If I want to recall a old version of testing by
>
> git reset --hard sha1
> or
> git checkout sha1
>
> then git log does not show anything beyond that commit. It does give
> some warning and recommend -b switch next time.  If I only do that by
> accident or ignorance.  How to revert to the original HEAD?
As others have said: reflog.

I just wanted to add, I've had a lot of luck using reflog's @{now} feature:

    git reflog show @{now}

Coupled with a vague recollection of what action I did at what time, this has saved me a few times, and if I've been jumping around branches as well, then:

    git reflog show HEAD@{now}
Another good one is:
    git show-branch --sha1-name -g=5

(or some larger value depending on how big your xterm is.) This is particularly useful when I've done a lot of 'git commit --amend' or rebases; the top most '+' sign in each column, starting from the left, is your reflog -- I don't know who came up with this design but it's amazing how much useful information is condensed into that display.

Previous: Jakub NarebskiNext: bill lam
Message 4 of 5 in “can git reset or checkout be reverted?”
  1. bill lamFeb 6, 2009
  2. Matthieu MoyFeb 6, 2009
  3. Jakub NarebskiFeb 6, 2009
  4. Sitaram ChamartyFeb 6, 2009
  5. bill lamFeb 7, 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.