用途:chezmoi-sync 是自动 chezmoi 停止守卫的按需替代方案,用于在需要时检查 chezmoi 漂移并同步被跟踪的 dotfiles。
主要能力:检测源仓库与主目录之间的漂移,展示漂移文件,并支持整体同步、逐文件审查或忽略。
使用方式:第一步运行 chezmoi status 和 chezmoi diff --no-pager 检测漂移,命令为 chezmoi source-path && chezmoi status && echo "---" && chezmoi diff --no-pager | head -80。若无输出则报告无漂移并停止。若有漂移,通过 AskUserQuestion 询问用户选择:Sync all、Review each 或 Ignore。选择 Sync all 时执行 chezmoi re-add --verbose,然后 chezmoi git -- add -A && chezmoi git -- commit -m "sync: dotfiles" && chezmoi git -- push,最后用 chezmoi status 验证。选择 Review each 时对每个文件询问 Sync、Diff、Forget 或 Skip;处理完后若有同步则提交并推送。选择 Ignore 时跳过同步。
限制与注意:始终使用 chezmoi forget --force 而非裸 forget,以避免 TTY 提示问题。chezmoi 源目录为 ~/own/dotfiles,配置在 ~/.config/chezmoi/chezmoi.toml。该技能为自进化技能,若指令错误、参数漂移或需要变通方法,应立即修复文件,仅针对真实可复现的问题更新。执行后需进行反思并记录进化日志。