Skip to content
← 返回文件与文本处理列表
文件与文本处理任务与配置

yadm 工具使用 ​

初始化点文件仓库 ​

yadm init · 初始化一个新的空的代码仓库用于跟踪点文件 ​

该代码仓库存储在 $HOME/.local/share/yadm/repo.git 中。 更多信息:https://yadm.io/docs/getting_started。

  • 执行:
bash
yadm init
  • 覆盖工作树:
bash
yadm init -w {{路径/到/工作树文件夹}}
  • 覆盖已存在的代码仓库:
bash
yadm init -f

配置、路径与管理状态 ​

yadm · 一个通过使用 git 来管理 dotfiles 的工具 ​

一个通过使用 git 来管理 dotfiles 的工具。 此命令也有关于其子命令的文件,例如:init、clone、push 和 pull。 更多信息:https://yadm.io/docs/overview。

  • 覆盖 yadm 目录。yadm 会相对于此目录存储其配置:
bash
yadm --yadm-dir {{绝对/配置目录}} status
  • 覆盖 yadm 数据目录:yadm 会相对于此目录存储其数据:
bash
yadm --yadm-data {{绝对/数据目录}} status
  • 覆盖 yadm 仓库的位置:
bash
yadm --yadm-repo {{绝对/仓库.git}} status
  • 覆盖 yadm 配置文件的位置:
bash
yadm --yadm-config {{绝对/配置文件}} config --list
  • 覆盖 yadm 加密配置的位置:
bash
yadm --yadm-encrypt {{绝对/加密清单文件}} status
  • 覆盖 yadm 加密文件归档的位置:
bash
yadm --yadm-archive {{绝对/加密归档文件}} status
  • 覆盖 yadm 引导程序的位置:
bash
yadm --yadm-bootstrap {{绝对/引导脚本}} status

yadm config · 读写 yadm 自身的配置文件,区别于 gitconfig ​

此命令读写 yadm 自身的配置;仓库级 Git 设置通过 yadm gitconfig 管理。 更多信息:https://github.com/TheLocehiliosan/yadm/blob/master/yadm.md#configuration。

  • 设置或更新 yadm 的配置:
bash
yadm config {{键.内键}} {{值}}
  • 从 yadm 的配置中获取一个值:
bash
yadm config --get {{键}}
  • 在 yadm 的配置中取消设置一个值:
bash
yadm config --unset {{键}}
  • 列出 yadm 的配置中的所有值:
bash
yadm config --list

yadm gitconfig · 向 git config 传递选项。更改由 yadm 管理的仓库的 .gitconfig ​

向 git config 传递选项。更改由 yadm 管理的仓库的 .gitconfig。 另请参阅:git config。 更多信息:https://github.com/TheLocehiliosan/yadm/blob/master/yadm.md#commands。

  • 更新或设置一个 Git 配置值:
bash
yadm gitconfig {{键.内键}} {{值}}
  • 从仓库级 Git 配置中获取一个值:
bash
yadm gitconfig --get {{键}}
  • 在仓库级 Git 配置中取消设置一个值:
bash
yadm gitconfig --unset {{键}}
  • 列出仓库级 Git 配置中的所有值:
bash
yadm gitconfig --list

yadm introspect · 查看由 yadm 管理的数据 ​

内省的目的是支持命令行补全。 更多信息:https://github.com/TheLocehiliosan/yadm/blob/master/yadm.md#commands。

  • 输出命令:
bash
yadm introspect commands
  • 输出配置:
bash
yadm introspect configs
  • 为主 yadm 命令输出开关:
bash
yadm introspect switches
  • 输出仓库:
bash
yadm introspect repo

yadm list · 打印由 yadm 管理的文件列表 ​

更多信息:https://github.com/TheLocehiliosan/yadm/blob/master/yadm.md#commands。

  • 打印当前目录中由 yadm 管理的文件列表:
bash
yadm list
  • 列出所有由 yadm 完全管理的文件:
bash
yadm list -a

yadm perms · 更新权限 ​

通常不需要运行此命令,因为 yadm 默认会自动处理权限。这种自动行为可以通过将配置 yadm.auto-perms 设置为 "false" 来禁用。 更多信息:https://github.com/TheLocehiliosan/yadm/blob/master/yadm.md#permissions。

  • 修改文件权限:
bash
yadm perms

克隆、引导与同步工作区 ​

yadm alt · 为任何被管理的文件创建符号链接并处理模板 ​

了解更多关于模板的信息:https://yadm.io/docs/templates。 更多信息:https://yadm.io/docs/alternates。

  • 手动在备用文件之间创建符号链接:
bash
yadm alt

yadm bootstrap · 执行 Yadm 的 bootstrap 文件 ​

这个文件应创建在 $HOME/.config/yadm/bootstrap。 更多信息:https://yadm.io/docs/bootstrap。

  • 执行 bootstrap 可执行文件:
bash
yadm bootstrap

yadm clone · 功能就像 git clone。此外,你还可以传递额外的标志来配置你的仓库 ​

功能就像 git clone。此外,你还可以传递额外的标志来配置你的仓库。 如果仓库中有一个引导文件,将提示你执行它。 另请参阅:git clone。 更多信息:https://yadm.io/docs/common_commands。

  • 克隆一个已有的仓库:
bash
yadm clone {{远程_仓库_位置}}
  • 克隆一个已有的仓库,然后执行引导文件:
bash
yadm clone {{远程_仓库_位置}} --bootstrap
  • 克隆一个已有的仓库,并在克隆后不执行引导文件:
bash
yadm clone {{远程_仓库_位置}} --no-bootstrap
  • 更改 yadm 在克隆时使用的工作树:
bash
yadm clone {{远程_仓库_位置}} -w {{工作树_文件}}
  • 更改 yadm 用于获取文件的分支:
bash
yadm clone {{远程_仓库_位置}} -b {{分支}}
  • 覆盖一个已有仓库的本地分支:
bash
yadm clone {{远程_仓库_位置}} -f

yadm upgrade · 将旧版 yadm 数据迁移到新版目录布局 ​

升级将尝试将你的子模块反初始化并重新初始化。 更多信息:https://github.com/TheLocehiliosan/yadm/blob/master/yadm.md#commands。

  • 迁移旧数据目录(不安装或升级 yadm 可执行程序):
bash
yadm upgrade
  • 强制迁移,允许反初始化含本地修改的子模块(会丢弃这些子模块修改):
bash
yadm upgrade -f

使用 Git 管理版本 ​

yadm enter · 使用所有 Git 变量设置运行一个子 Shell。这个子 Shell 可以用于使用 Git 命令方便地与本地 yadm 仓库交互 ​

如果你正在使用一个直接使用 Git 的工具,这可能会很有用。 更多信息:https://github.com/TheLocehiliosan/yadm/blob/master/yadm.md#commands。

  • 使用所有 Git 变量设置运行一个子 Shell:
bash
yadm enter
  • 退出子 Shell:
bash
exit

加密与解密配置文件 ​

yadm decrypt · 解密由 yadm 加密的文件 ​

激活此命令时,系统会提示你输入密码。 更多信息:https://yadm.io/docs/encryption。

  • 解密文件:
bash
yadm decrypt

yadm encrypt · 加密在指定的加密文件中列出的文件 ​

文件被加密后将会存储在指定的归档文件夹中。 更多信息:https://yadm.io/docs/encryption。

  • 加密在指定的加密文件中列出的文件:
bash
yadm encrypt
  • 创建加密所需的文件和文件夹:
bash
touch {{路径/到/encrypt_file}} && mkdir {{路径/到/archive_folder}}

yadm git-crypt · Git Crypt 能够实现 Git 仓库中文件的透明加密和解密 ​

另请参阅:git-crypt。 更多信息:https://github.com/AGWA/git-crypt。

  • 初始化仓库以使用 Git Crypt:
bash
yadm git-crypt init
  • 使用 GPG 共享仓库:
bash
yadm git-crypt add-gpg-user {{用户_id}}
  • 克隆包含加密文件的仓库后,解锁它们:
bash
yadm git-crypt unlock
  • 导出对称密钥:
bash
yadm git-crypt export-key {{路径/到/密钥文件}}

yadm transcrypt · 如果已安装 transcrypt,此命令允许直接向 transcrypt 传递选项 ​

如果已安装 transcrypt,此命令允许直接向 transcrypt 传递选项。 环境配置为使用 yadm 仓库。 Transcrypt 使 Git 仓库中的文件能够透明地加密和解密。 更多信息:https://github.com/elasticdog/transcrypt#command-line-options。

  • 设置用于加密的对称加密算法:
bash
yadm transcrypt {{[-c|--cipher]}} {{加密算法}}
  • 提供用来派生密钥的密码:
bash
yadm transcrypt {{[-p|--password]}} {{密码}}
  • 假设所有回答为“是”并接受未指定选项的默认值:
bash
yadm transcrypt {{[-y|--yes]}}
  • 显示当前仓库的加密算法和密码:
bash
yadm transcrypt {{[-d|--display]}}
  • 使用新的凭证重新加密所有已加密的文件:
bash
yadm transcrypt {{[-r|--rekey]}}

示例整理自 tldr-pages,作者为 tldr-pages team and contributors,遵循 CC BY 4.0。

继续阅读