git‐annex‐unused − look for unused file content

git annex unused

Checks the annex for data that does not correspond to any
files present in any tag or branch, and prints a numbered
list of the data.

     After running this command, you can use the −−unused
option with many other git‐annex commands to operate on all
the unused data that was found.

     For example, to move all unused data to origin:

      git annex unused; git annex move −−unused −−to origin


     Only show unused temp and bad files.

     Check for unused data that is located in a repository.

     The repository should be specified using the name of a
     configured remote, or the UUID or description of a

     By default, any data that the work tree uses, or that
     any refs in the git repository point to is considered
     to be used. If you only want to use some refs, you can
     use this option to specify the ones to use. Data that
     is not in the specified refs (and not used by the work
     tree) will then be considered unused.

     The git configuration annex.used−refspec can be used to
     configure this in a more permanent fashion.

The refspec format for −−used−refspec is a colon−separated
list of additions and removals of refs. For example:


     This adds all refs/heads/ refs, as well as the previous
version of HEAD. It also adds all tags, except for old−tag.


     The refspec is processed by starting with an empty set
of refs, and walking the list in order from left to right.

     Each + using a glob is matched against all relevant
refs (a subset of git show−ref) and all matching refs are
added to the set.  For example, "+refs/remotes/*" adds all
remote refs.

     Each + without a glob adds the literal value to the
set.  For example, "+HEAD^" adds "HEAD^".

     Each − is matched against the set of refs accumulated
so far.  Any refs with names that match are removed from the

     "reflog" adds all the refs from the reflog. This will
make past versions of files not be considered to be unused
until the ref expires from the reflog (by default for 90
days). Note that this may make git‐annex unused take some
time to complete, it if needs to check every ref from the




Joey Hess <>