git‐annex‐import − move and add files from outside git
working copy

git annex import [path ...]

Moves files from somewhere outside the git working copy, and
adds them to the annex. Individual files to import can be
specified.  If a directory is specified, the entire
directory is imported.

      git annex import /media/camera/DCIM/*

     When importing files, there’s a possibility of
importing a duplicate of a file that is already known to
git‐annex −− its content is either present in the local
repository already, or git‐annex knows of another repository
that contains it, or it was present in the annex before but
has been removed now.

     By default, importing a duplicate of a known file will
result in a new filename being added to the repository, so
the duplicate file is present in the repository twice. (With
all checksumming backends, including the default SHA256E,
only one copy of the data will be stored.)

     Several options can be used to adjust handling of
duplicate files.


     Do not delete files from the import location.

     Running with this option repeatedly can import the same
     files into different git repositories, or branches, or
     different locations in a git repository.

     Only import files that are not duplicates; duplicate
     files will be deleted from the import location.

     Only import files that are not duplicates. Avoids
     deleting any files from the import location.

     Does not import any files, but any files found in the


     import location that are duplicates are deleted.

     Imports files that are not duplicates. Files that are
     duplicates have their content reinjected into the annex
     (similar to git‐annex−reinject).

     Allow existing files to be overwritten by newly
     imported files.

     Also, causes .gitignore to not take effect when adding

file matching options
     Many of the git‐annex−matching−options(1) can be used
     to specify files to import.

          git annex import /dir −−include=’*.png’

−−jobs=N −JN
     Imports multiple files in parallel. This may be faster.
     For example: −J4

     Enable JSON output. This is intended to be parsed by
     programs that use git‐annex. Each line of output is a
     JSON object.

Note that using −−deduplicate or −−clean−duplicates with the
WORM backend does not look at file content, but filename and

     If annex.largefiles is configured, and does not match a
file, git annex import will add the non−large file directly
to the git repository, instead of to the annex.



Joey Hess <>