git-annex-put(1)
π git-annex-put β sending ur files to other repos, no cap π
okay so this is the git-annex-put(1) page from the General Commands Manual, and we're gonna make it make sense bestie π«Ά
β¨ NAME β¨
git-annex-put β send content of files to other repositories π
β¨ SYNOPSIS β¨
git annex put [path ...]
β¨ DESCRIPTION β¨
So basically: this sends the content of ur annexed files off to remotes. By default, files get sent to all remotes β with one little exception, which is certain special remotes that have to be populated using git-annex export instead. iykyk π
If you give it no parameters at all, it operates on all annexed files in the current directory. You can specify paths of files or directories to operate on if you wanna be specific about it. π
πΈ OPTIONS πΈ
--wanted,-wβ sends files only to remotes that actually want them. like a vibe check for remotes π seegit-annex-preferred-content(1)--autoβ only sends files to remotes that want them, or when there aren't yet the desired number of copies. lowkey the chill option β¨--fastβ only sends files to remotes with the lowestannex-costvalue configured. speedrun strats π₯--jobs=N,-JNβ enables parallel transfers, with up to the specified number of jobs running at once. for example:-J10
Setting this to "cpus" will run one job per CPU core. iconic multi-tasking behavior π
--all,-Aβ instead of specifying a filename or path to send, this option can be used to send all available versions of all files. the "do everything" button fr fr
This is the default behavior when running git-annex in a bare repository.
--branch=refβ operate on files in the specified branch or treeish πΏ--unusedβ operate on files found by the last run ofgit-annex unused. the leftovers arc π--failedβ operate on files that have recently failed to be transferred. second-chance era π--key=keynameβ use this option to send a specified key. just one specific little guy π- matching options β the
git-annex-matching-options(1)can be used to specify what to send. filter away bestie π¦ --batchβ enables batch mode, where lines containing names of files to send are read from stdin. conveyor belt energy π
As each specified file is processed, the usual progress output is displayed. If a file's content does not need to be sent, or it does not match specified matching options, or it is not an annexed file, a blank line is output in response instead. (not me getting a blank line back π)
Since the usual output while sending a file is verbose and not machine-parseable, you may want to use --json in combination with --batch. pro tip from the manpage itself, periodt π
--batch-keysβ this is like--batchbut the lines read from stdin are parsed as keys. same energy, different input π-zβ makes batch input be delimited by nulls instead of the usual newlines. null bytes on main π§--jsonβ enable JSON output. This is intended to be parsed by programs that usegit-annex. Each line of output is a JSON object. machine-readable slay π€β¨--json-progressβ include progress objects in JSON output. so you can watch the progress in JSON π--json-error-messagesβ messages that would normally be output to standard error are included in the JSON instead. errors but make them JSON π- Also the
git-annex-common-options(1)can be used. the usual suspects π
π¦ SEE ALSO π¦
π AUTHOR π
Joey Hess <id@joeyh.name> β actual legend, no cap π
okay that's the whole page bestie!! this one's git-annex-put(1) straight outta the General Commands Manual β same page, same title, all the same facts, just with the vibes upgraded π
β¨ go send some files, you got this π«Άπ
π¦ where this page comes from
- alpine 3.24: git-annex-doc 10.20261026-r0 Β· AGPL-3.0-or-later
- arch rolling: git-annex 10.20261026-2 Β· AGPL-3.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms