yadm 配置文件管理
✍️ 正文
新系统安装
安装 brew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
在临时文件夹中安装 yadm;将 dotfile 克隆到本地;初始化安装系统;安装系统所有包;完成一键搭建系统环境。
curl -sL https://raw.githubusercontent.com/Elepv/dotfiles/master/pre_bootstrap.sh | bash
基础配置
安装:
brew install yadm
初始化:
yadm init
yadm add <important file>
yadm commit -m "addd file"
连接远程仓库和推送文件到仓库:
yadm remote add origin [email protected]:Elepv/dotfiles.git
yadm push -u origin master
# yadm push -u origin <local branch>:<remote branch>
将远程仓库克隆到本地:
yadm clone [email protected]:Elepv/dotfiles.git
# 查看现在本地文件和仓库中文件的差异
yadm status
# 插件目前仓库连接的远程仓库地址
yadm remote -v
对比和将仓库中的文件应用到本地:
yadm status
yadm list
# 在有远程仓库连接时,获取远程仓库内容
yadm fetch
# 查看文件具体的差异
yadm diff filename
# 把本地文件加入到仓库,并提交
yadm add /path/to/filename
yadm commit --amend # 修改上次提交信息
yadm commit -C HEAD # 使用上次提交的信息
# 将仓库中的文件应用到本地
yadm checkout -- /path/to/filename
# 从暂存区移除跟踪文件
git rm –cached filename
# 从当前分支和文件系统中移除文件
git rm filename
如果远程仓库中的配置文件与本地冲突,则需要先解决冲突,重新提交后,再 pull 到本地。
初始化安装
对隐私文件加密保存
此功能需要安装 gpg
或 openssl
命令
创建需要加密的清单文件,包括需加密的 文件和文件夹列表
touch .config/yadm/encrypt
vi .config/yadm/encrypt
将需要加密的 文件和文件夹列表
加入到清单文件中
.ssh/*
使用 openssl
取代 gpg
作为加密、解密的工具
yadm config yadm.cipher openssl
加密和解密
#加密
yadm encrypt
# 解密
yadm decrypt
识别不同系统,应用对应的配置
上传配置文件时,指定标签,如:
# 加入文件时,带上标签
yadm add .bashrc##os.Darwin,hostname.vMac-mini.local
# 提交更改
yadm commit -m "Add macOS specific config file"
# 推送到远程仓库
yadm push
# 从远程仓库获取配置文件
yadm pull
# 或者
yadm clone URL_TO_YOUR_REPOSITORY
# 根据条件,应用符号链接
yadm alt
# 也可以设置自动根据条件应用符号链接
yadm config yadm.auto-alt true