用途:为 dotfiles 提供一套通用、可分享的裸仓库工作流。Git dir 为 ~/.dotfiles,work tree 为 ~,远端由用户提供私有仓库 URL。
主要能力:支持首次初始化、在其他机器上部署、状态检查、本地更新、拉取合并、推送,以及 GUI 可发现模式的进入、退出与检查。首次初始化默认只处理 .gitignore、bootstrap.sh、README.md 三个起始文件。
用法:优先使用显式命令 git --git-dir="$HOME/.dotfiles" --work-tree="$HOME" <subcommand>,而非假设存在别名。执行前先查看实时状态,运行 status、ls-files,并读取 .gitignore、bootstrap.sh、README.md。Git 操作建议每次 Bash 调用只执行一条命令,不添加 &&、;、管道或重定向,除非确有必要。首次初始化前先读取 assets/ 中的起始模板;若起始文件已存在,需逐文件询问合并、覆盖还是跳过,不得静默替换或删除。
限制与安全:.gitignore 视为白名单,新文件需同时加入白名单并执行添加才可跟踪。默认不使用 git stash -u,因为 work tree 是整个主目录,可能把大量不相关的缓存纳入 stash。本地已跟踪改动阻塞拉取时,仅 stash 已跟踪文件,拉取后再应用并解决冲突;若 stash apply 自动暂存文件,应恢复为未暂存,除非用户明确要求暂存。GUI 可发现模式是可逆的运行模式,可反复开启和关闭,切换前先检查当前模式状态。若用户已提供远端 URL 且本地初始化成功,首次推送应作为默认初始化流程的一部分。