137 lines
3.4 KiB
Markdown
137 lines
3.4 KiB
Markdown
# NAME
|
|
|
|
git-annex add - adds files to the git annex
|
|
|
|
# SYNOPSIS
|
|
|
|
git annex add `[path ...]`
|
|
|
|
# DESCRIPTION
|
|
|
|
Adds the specified files to the annex. If a directory is specified,
|
|
acts on all files inside the directory and its subdirectories.
|
|
If no path is specified, adds files from the current directory and below.
|
|
|
|
Files that are already checked into git and are unmodified, or that
|
|
git has been configured to ignore will be silently skipped.
|
|
|
|
If annex.largefiles is configured (in git config, gitattributes, or
|
|
git-annex config), and does not match a file, `git annex add` will behave
|
|
the same as `git add` and add the non-large file directly to the git
|
|
repository, instead of to the annex. (By default dotfiles are assumed to
|
|
not be large, and are added directly to git, but annex.dotfiles can be
|
|
configured to annex those too.) See the git-annex manpage for documentation
|
|
of these and other configuration settings.
|
|
|
|
By default, large files are added to the annex in locked form, which
|
|
prevents further modification of their content until
|
|
unlocked by [[git-annex-unlock]](1). (This is not the case however
|
|
when a repository is in a filesystem not supporting symlinks.)
|
|
The annex.addunlocked git config (and git-annex config) can be used to
|
|
change this behavior.
|
|
|
|
This command can also be used to add symbolic links, both symlinks to
|
|
annexed content, and other symlinks.
|
|
|
|
# EXAMPLES
|
|
|
|
# git annex add foo bar
|
|
add foo ok
|
|
add bar ok
|
|
# git commit -m added
|
|
|
|
# OPTIONS
|
|
|
|
* `--no-check-gitignore`
|
|
|
|
Add gitignored files.
|
|
|
|
* `--force-large`
|
|
|
|
Treat all files as large files, ignoring annex.largefiles and annex.dotfiles
|
|
configuration, and add to the annex.
|
|
|
|
* `--force-small`
|
|
|
|
Treat all files as small files, ignoring annex.largefiles and annex.dotfiles
|
|
and annex.addsmallfiles configuration, and add to git.
|
|
|
|
* `--backend`
|
|
|
|
Specifies which key-value backend to use.
|
|
|
|
* file matching options
|
|
|
|
Many of the [[git-annex-matching-options]](1)
|
|
can be used to specify files to add.
|
|
|
|
For example: `--largerthan=1GB`
|
|
|
|
* `--jobs=N` `-JN`
|
|
|
|
Adds multiple files in parallel. This may be faster.
|
|
For example: `-J4`
|
|
|
|
Setting this to "cpus" will run one job per CPU core.
|
|
|
|
* `--update` `-u`
|
|
|
|
Like `git add --update`, this does not add new files, but any updates
|
|
to tracked files will be added to the index.
|
|
|
|
* `--dry-run`
|
|
|
|
Output what would be done for each file, but avoid making any changes.
|
|
|
|
* `--json`
|
|
|
|
Enable JSON output. This is intended to be parsed by programs that use
|
|
git-annex. Each line of output is a JSON object.
|
|
|
|
* `--json-progress`
|
|
|
|
Include progress objects in JSON output.
|
|
|
|
* `--json-error-messages`
|
|
|
|
Messages that would normally be output to standard error are included in
|
|
the JSON instead.
|
|
|
|
* `--batch`
|
|
|
|
Enables batch mode, in which a file to add is read in a line from stdin,
|
|
the file is added, and repeat.
|
|
|
|
Note that if a file is skipped (due to not existing, being gitignored,
|
|
already being in git, or doesn't meet the matching options),
|
|
an empty line will be output instead of the normal output produced
|
|
when adding a file.
|
|
|
|
* `-z`
|
|
|
|
Makes the `--batch` input be delimited by nulls instead of the usual
|
|
newlines.
|
|
|
|
* Also the [[git-annex-common-options]](1) can be used.
|
|
|
|
# SEE ALSO
|
|
|
|
[[git-annex]](1)
|
|
|
|
[[git-annex-unlock]](1)
|
|
|
|
[[git-annex-lock]](1)
|
|
|
|
[[git-annex-undo]](1)
|
|
|
|
[[git-annex-import]](1)
|
|
|
|
[[git-annex-unannex]](1)
|
|
|
|
[[git-annex-reinject]](1)
|
|
|
|
# AUTHOR
|
|
|
|
Joey Hess <id@joeyh.name>
|
|
|
|
Warning: Automatically converted into a man page by mdwn2man. Edit with care.
|