1git-annex-add(1) General Commands Manual git-annex-add(1)
2
3
4
6 git-annex-add - adds files to the git annex
7
9 git annex add [path ...]
10
12 Adds the specified files to the annex. If a directory is specified,
13 acts on all files inside the directory and its subdirectories. If no
14 path is specified, adds files from the current directory and below.
15
16 Files that are already checked into git and are unmodified, or that git
17 has been configured to ignore will be silently skipped.
18
19 If annex.largefiles is configured, and does not match a file, git annex
20 add will behave the same as git add and add the non-large file directly
21 to the git repository, instead of to the annex. (By default dotfiles
22 are assumed to not be large, and are added directly to git, but an‐
23 nex.dotfiles can be configured to annex those too.) See the git-annex
24 manpage for documentation of these and other configuration settings.
25
26 Large files are added to the annex in locked form, which prevents fur‐
27 ther modification of their content unless unlocked by git-annex-un‐
28 lock(1). (This is not the case however when a repository is in a
29 filesystem not supporting symlinks.)
30
31 This command can also be used to add symbolic links, both symlinks to
32 annexed content, and other symlinks.
33
35 # git annex add foo bar
36 add foo ok
37 add bar ok
38 # git commit -m added
39
41 --no-check-gitignore
42
43 Add gitignored files.
44
45 --force-large
46 Treat all files as large files, ignoring annex.largefiles and
47 annex.dotfiles configuration, and add to the annex.
48
49 --force-small
50 Treat all files as small files, ignoring annex.largefiles and
51 annex.dotfiles and annex.addsmallfiles configuration, and add to
52 git.
53
54 --backend
55 Specifies which key-value backend to use.
56
57 file matching options
58 Many of the git-annex-matching-options(1) can be used to specify
59 files to add.
60
61 For example: --largerthan=1GB
62
63 --jobs=N -JN
64 Adds multiple files in parallel. This may be faster. For exam‐
65 ple: -J4
66
67 Setting this to "cpus" will run one job per CPU core.
68
69 --update -u
70 Like git add --update, this does not add new files, but any up‐
71 dates to tracked files will be added to the index.
72
73 --dry-run
74 Output what would be done for each file, but avoid making any
75 changes.
76
77 --json Enable JSON output. This is intended to be parsed by programs
78 that use git-annex. Each line of output is a JSON object.
79
80 --json-progress
81 Include progress objects in JSON output.
82
83 --json-error-messages
84 Messages that would normally be output to standard error are in‐
85 cluded in the json instead.
86
87 --batch
88 Enables batch mode, in which a file to add is read in a line
89 from stdin, the file is added, and repeat.
90
91 Note that if a file is skipped (due to not existing, being git‐
92 ignored, already being in git, or doesn't meet the matching op‐
93 tions), an empty line will be output instead of the normal out‐
94 put produced when adding a file.
95
96 -z Makes the --batch input be delimited by nulls instead of the
97 usual newlines.
98
99 Also the git-annex-common-options(1) can be used.
100
102 git-annex(1)
103
104 git-annex-unlock(1)
105
106 git-annex-lock(1)
107
108 git-annex-undo(1)
109
110 git-annex-import(1)
111
112 git-annex-unannex(1)
113
114 git-annex-reinject(1)
115
117 Joey Hess <id@joeyh.name>
118
119 git-annex-add(1)