This is the command git-repair that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator
git-repair - Fix a broken git repository
This can fix a corrupt or broken git repository, which git fsck would only complain has
It does by deleting all corrupt objects, and retreiving all missing objects that it can
from the remotes of the repository.
If that is not sufficient to fully recover the repository, it can also reset branches back
to commits before the corruption happened, delete branches that are no longer available
due to the lost data, and remove any missing files from the index. It will only do this if
run with the --force option, since that rewrites history and throws out missing data.
Note that the --force option never touches tags, even if they are no longer usable due to
After running this command, you will probably want to run git fsck to verify it fixed the
repository. Note that fsck may still complain about objects referenced by the reflog, or
the stash, if they were unable to be recovered. This command does not try to clean up
either the reflog or the stash.
Since this command unpacks all packs in the repository, you may want to run git gc
git-repair is able to test itself, by making a temporary copy of the git reposiory it's
run in, damaging it in random ways, and checking that it can repair it so that git fsck
reports no problems.
This is done using the --test parameter and associated --numtests and --retry parameters.
Note that the testing will sometimes find repositories that can only be repaired when
--force is used; this is expected. On the other hand, if it fails to recover a repository
with --force, then the testing has found a bug!
Use git-repair online using onworks.net services