yadm 工具使用
初始化点文件仓库
yadm init · 初始化一个新的空的代码仓库用于跟踪点文件
该代码仓库存储在
$HOME/.local/share/yadm/repo.git中。 更多信息:https://yadm.io/docs/getting_started。
- 执行:
yadm init- 覆盖工作树:
yadm init -w {{路径/到/工作树文件夹}}- 覆盖已存在的代码仓库:
yadm init -f配置、路径与管理状态
yadm · 一个通过使用 git 来管理 dotfiles 的工具
一个通过使用
git来管理 dotfiles 的工具。 此命令也有关于其子命令的文件,例如:init、clone、push和pull。 更多信息:https://yadm.io/docs/overview。
- 覆盖 yadm 目录。yadm 会相对于此目录存储其配置:
yadm --yadm-dir {{绝对/配置目录}} status- 覆盖 yadm 数据目录:yadm 会相对于此目录存储其数据:
yadm --yadm-data {{绝对/数据目录}} status- 覆盖 yadm 仓库的位置:
yadm --yadm-repo {{绝对/仓库.git}} status- 覆盖 yadm 配置文件的位置:
yadm --yadm-config {{绝对/配置文件}} config --list- 覆盖 yadm 加密配置的位置:
yadm --yadm-encrypt {{绝对/加密清单文件}} status- 覆盖 yadm 加密文件归档的位置:
yadm --yadm-archive {{绝对/加密归档文件}} status- 覆盖 yadm 引导程序的位置:
yadm --yadm-bootstrap {{绝对/引导脚本}} statusyadm config · 读写 yadm 自身的配置文件,区别于 gitconfig
此命令读写 yadm 自身的配置;仓库级 Git 设置通过
yadm gitconfig管理。 更多信息:https://github.com/TheLocehiliosan/yadm/blob/master/yadm.md#configuration。
- 设置或更新 yadm 的配置:
yadm config {{键.内键}} {{值}}- 从 yadm 的配置中获取一个值:
yadm config --get {{键}}- 在 yadm 的配置中取消设置一个值:
yadm config --unset {{键}}- 列出 yadm 的配置中的所有值:
yadm config --listyadm gitconfig · 向 git config 传递选项。更改由 yadm 管理的仓库的 .gitconfig
向
git config传递选项。更改由 yadm 管理的仓库的.gitconfig。 另请参阅:git config。 更多信息:https://github.com/TheLocehiliosan/yadm/blob/master/yadm.md#commands。
- 更新或设置一个 Git 配置值:
yadm gitconfig {{键.内键}} {{值}}- 从仓库级 Git 配置中获取一个值:
yadm gitconfig --get {{键}}- 在仓库级 Git 配置中取消设置一个值:
yadm gitconfig --unset {{键}}- 列出仓库级 Git 配置中的所有值:
yadm gitconfig --listyadm introspect · 查看由 yadm 管理的数据
内省的目的是支持命令行补全。 更多信息:https://github.com/TheLocehiliosan/yadm/blob/master/yadm.md#commands。
- 输出命令:
yadm introspect commands- 输出配置:
yadm introspect configs- 为主 yadm 命令输出开关:
yadm introspect switches- 输出仓库:
yadm introspect repoyadm list · 打印由 yadm 管理的文件列表
更多信息:https://github.com/TheLocehiliosan/yadm/blob/master/yadm.md#commands。
- 打印当前目录中由 yadm 管理的文件列表:
yadm list- 列出所有由 yadm 完全管理的文件:
yadm list -ayadm perms · 更新权限
通常不需要运行此命令,因为 yadm 默认会自动处理权限。这种自动行为可以通过将配置
yadm.auto-perms设置为"false"来禁用。 更多信息:https://github.com/TheLocehiliosan/yadm/blob/master/yadm.md#permissions。
- 修改文件权限:
yadm perms克隆、引导与同步工作区
yadm alt · 为任何被管理的文件创建符号链接并处理模板
了解更多关于模板的信息:https://yadm.io/docs/templates。 更多信息:https://yadm.io/docs/alternates。
- 手动在备用文件之间创建符号链接:
yadm altyadm bootstrap · 执行 Yadm 的 bootstrap 文件
这个文件应创建在
$HOME/.config/yadm/bootstrap。 更多信息:https://yadm.io/docs/bootstrap。
- 执行 bootstrap 可执行文件:
yadm bootstrapyadm clone · 功能就像 git clone。此外,你还可以传递额外的标志来配置你的仓库
功能就像
git clone。此外,你还可以传递额外的标志来配置你的仓库。 如果仓库中有一个引导文件,将提示你执行它。 另请参阅:git clone。 更多信息:https://yadm.io/docs/common_commands。
- 克隆一个已有的仓库:
yadm clone {{远程_仓库_位置}}- 克隆一个已有的仓库,然后执行引导文件:
yadm clone {{远程_仓库_位置}} --bootstrap- 克隆一个已有的仓库,并在克隆后不执行引导文件:
yadm clone {{远程_仓库_位置}} --no-bootstrap- 更改 yadm 在克隆时使用的工作树:
yadm clone {{远程_仓库_位置}} -w {{工作树_文件}}- 更改 yadm 用于获取文件的分支:
yadm clone {{远程_仓库_位置}} -b {{分支}}- 覆盖一个已有仓库的本地分支:
yadm clone {{远程_仓库_位置}} -fyadm upgrade · 将旧版 yadm 数据迁移到新版目录布局
升级将尝试将你的子模块反初始化并重新初始化。 更多信息:https://github.com/TheLocehiliosan/yadm/blob/master/yadm.md#commands。
- 迁移旧数据目录(不安装或升级 yadm 可执行程序):
yadm upgrade- 强制迁移,允许反初始化含本地修改的子模块(会丢弃这些子模块修改):
yadm upgrade -f使用 Git 管理版本
yadm enter · 使用所有 Git 变量设置运行一个子 Shell。这个子 Shell 可以用于使用 Git 命令方便地与本地 yadm 仓库交互
如果你正在使用一个直接使用 Git 的工具,这可能会很有用。 更多信息:https://github.com/TheLocehiliosan/yadm/blob/master/yadm.md#commands。
- 使用所有 Git 变量设置运行一个子 Shell:
yadm enter- 退出子 Shell:
exit加密与解密配置文件
yadm decrypt · 解密由 yadm 加密的文件
激活此命令时,系统会提示你输入密码。 更多信息:https://yadm.io/docs/encryption。
- 解密文件:
yadm decryptyadm encrypt · 加密在指定的加密文件中列出的文件
文件被加密后将会存储在指定的归档文件夹中。 更多信息:https://yadm.io/docs/encryption。
- 加密在指定的加密文件中列出的文件:
yadm encrypt- 创建加密所需的文件和文件夹:
touch {{路径/到/encrypt_file}} && mkdir {{路径/到/archive_folder}}yadm git-crypt · Git Crypt 能够实现 Git 仓库中文件的透明加密和解密
另请参阅:
git-crypt。 更多信息:https://github.com/AGWA/git-crypt。
- 初始化仓库以使用 Git Crypt:
yadm git-crypt init- 使用 GPG 共享仓库:
yadm git-crypt add-gpg-user {{用户_id}}- 克隆包含加密文件的仓库后,解锁它们:
yadm git-crypt unlock- 导出对称密钥:
yadm git-crypt export-key {{路径/到/密钥文件}}yadm transcrypt · 如果已安装 transcrypt,此命令允许直接向 transcrypt 传递选项
如果已安装
transcrypt,此命令允许直接向transcrypt传递选项。 环境配置为使用 yadm 仓库。 Transcrypt 使 Git 仓库中的文件能够透明地加密和解密。 更多信息:https://github.com/elasticdog/transcrypt#command-line-options。
- 设置用于加密的对称加密算法:
yadm transcrypt {{[-c|--cipher]}} {{加密算法}}- 提供用来派生密钥的密码:
yadm transcrypt {{[-p|--password]}} {{密码}}- 假设所有回答为“是”并接受未指定选项的默认值:
yadm transcrypt {{[-y|--yes]}}- 显示当前仓库的加密算法和密码:
yadm transcrypt {{[-d|--display]}}- 使用新的凭证重新加密所有已加密的文件:
yadm transcrypt {{[-r|--rekey]}}示例整理自 tldr-pages,作者为 tldr-pages team and contributors,遵循 CC BY 4.0。
继续阅读
- 文件与文本处理完整实践与解答
- 文件与文本处理上手与对象
- 文件与文本处理任务与配置