配置.gitignore:为Dotfiles保留指定文件与目录,忽略其余内容
精准.gitignore配置方案
直接使用以下.gitignore内容,严格遵循规则顺序(顺序会影响匹配结果):
# 第一步:忽略所有内容 * # 第二步:反向保留需要的顶级配置目录 !nvim/ !tmux/ !alacritty/ # 第三步:nvim目录下仅忽略lazy-lock.json nvim/lazy-lock.json # 第四步:tmux目录规则 - 仅保留tmux.conf和plugins/tpm # 先忽略tmux下所有内容 tmux/* # 反向保留tmux.conf !tmux/tmux.conf # 反向保留plugins目录(否则无法匹配子目录tpm) !tmux/plugins/ # 忽略plugins下所有内容 tmux/plugins/* # 反向保留tpm目录 !tmux/plugins/tpm/
配套操作说明
如果之前已有文件被错误追踪,执行以下命令取消追踪(不会删除本地文件):
git rm --cached -r . git add . git commit -m "Fix .gitignore rules to track only desired configs"
规则逻辑说明:
- 先通过
*忽略所有内容,确保未被明确保留的文件都不会被追踪 - 反向保留核心配置目录后,再针对每个目录内部做精准忽略/保留
- tmux的规则需要逐层开放:先允许plugins目录,再忽略其下所有内容,最后单独保留tpm,确保只有tpm被同步,其他插件由tpm自行安装
内容的提问来源于stack exchange,提问作者Mo0rBy
相关产品推荐
相关产品推荐

