Shilong Wang <wangshilong1...@gmail.com> writes:
> A power off cause my top commit broken, and then git
> branch/log/reflog..etc won't work.
With a bit of luck, the reflog actually contain useful information. Look
at .git/logs/HEAD (or refs/heads/* instead of HEAD for branches'
reflog). It's a human-readable text format. You should be able to walk
up the history looking for a good commit.
> I do a hack that
Before anything else: do a backup of your full repository while it's
> i change the HEAD commit to the one that i can make sure is right,
(don't forget to run "git fsck" to make sure that not only the commit
but also its ancestry is right).
> In fact, i hope git fsck can fix up such problems(maybe can backup top
> commit for example)...
Not as far as I know. But "git fsck" has a --lost-found option that can
help recovering unreachable (dangling) commits.
You may have a look at http://hackage.haskell.org/package/git-repair but
I do not think it would solve your particular case.
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html