Provided by: git-annex_8.20210223-2ubuntu2_amd64 bug


       git-annex-repair - recover broken git repository


       git annex repair


       This can repair many of the problems with git repositories that git fsck detects, but does
       not itself fix. It's useful if a repository has become badly damaged.  One  way  this  can
       happen is if a repository used by git-annex is on a removable drive that gets unplugged at
       the wrong time.

       This command can actually be used inside git repositories that do  not  use  git-annex  at
       all;  when  used  in  a repository using git-annex, it does additional repairs of the git-
       annex branch.

       It works by deleting any corrupt objects from  the  git  repository,  and  retrieving  all
       missing objects 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
       missing data.

       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.

       It  is also a good idea to run git annex fsck --fast after this command, to make sure that
       the git-annex branch reflects reality.



              Enable repair actions that involve deleting data that has  been  lost  due  to  git
              repository corruption.





       Joey Hess <>