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

Re: corrupted Git repository

From
Michael J Gruber <git@drmicha.warpmail.net>
Date
Jun 21, 2011, 09:38 UTC
Message-ID
<4E006682.80101@drmicha.warpmail.net>
In-Reply-To
<BANLkTi=WVTGcGkUXjkuPYcxhMY0a5KPB7g@mail.gmail.com>
Kasra Khosoussi venit, vidit, dixit 21.06.2011 11:30:
Show 14 quoted lines
>> Backup now!
>> I guess you've done that meanwhile anyways, but it's important before
>> any recovery attempts.
> 
> Yes, I've done that.
> 
>> Is your reflog OK, i.e. do you get proper output from "git reflog" or
>> "git log -g"?
> 
> No. Before moving the corrupted object git reflog would return:
> fatal: object 0a83757505387aacc2fd36b3c996729e6bf9d6e5 is corrupted
> 
> and after moving the file it would say:
> fatal: bad object HEAD

Oh yes, stupid me, sorry. "git reflog" tries to parse HEAD. But you can look at the file directly:

tail .git/logs/HEAD tail .git/logs/refs/heads/master

etc. show you what's been going on with those refs lately.

You should be able to pick the the sha1 before the corrupt one from that and do things like "git log that_sha1" if only the most recent commit is corrupt.

Michael
Previous: Kasra KhosoussiNext: Kasra Khosoussi
Message 4 of 11 in “corrupted Git repository”
  1. Kasra KhosoussiJun 21, 2011
  2. Michael J GruberJun 21, 2011
  3. Kasra KhosoussiJun 21, 2011
  4. Michael J GruberJun 21, 2011
  5. Kasra KhosoussiJun 21, 2011
  6. Ilari LiusvaaraJun 21, 2011
  7. Kasra KhosoussiJun 21, 2011
  8. Johannes SixtJun 21, 2011
  9. Kasra KhosoussiJun 21, 2011
  10. Carlos Martín NietoJun 21, 2011
  11. Kasra KhosoussiJun 21, 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.