1. 核心操作:清理已追踪文件
原则:.gitignore 规则仅对未追踪 (Untracked) 的文件生效。若文件已存在于远程仓库,必须通过清理 Git 索引(Index)来实现“物理脱钩”。
1.1 彻底清理步骤
请在项目根目录下打开终端,依次执行以下命令:
# 1. 移除Git缓存即清空暂存区
git rm -r --cached .
# 2. 将修改过文件添加到暂存区
git add .
# 3. 将暂存提交本地仓并附说明
git commit -m "你的更新说明"
# 4. 将本地的提交推送到 GitHub 服务器。
git push
逻辑核心:git rm -r --cached . 让 Git “忘记”已追踪文件。随后通过 git add . 配合更新后的 .gitignore,使 Git 重新追踪仅规则允许的文件。指定提交git push origin <你的分支名>
2. 推荐配置:.gitignore 推荐示例
为了确保隐私数据及环境配置文件绝对不进入仓库,建议采用以下结构化的配置方案。
2.1 最终 .gitignore 配置文件内容
# === 系统与包管理依赖 ===
.DS_Store
node_modules/
.pnpm-store/
.replit
replit.nix
# === 构建产物与缓存 ===
prof/
tsconfig.tsbuildinfo
.quartz-cache
public/
# === 隐私与配置 (重点防护) ===
.obsidian/
**/.obsidian/
private/
.env
# === 目录屏蔽 (根据需求定制) ===
content/04-计算机/前端开发/
-
2.1.1 路径通配符:使用
**/.obsidian/可确保无论该文件夹位于根目录还是子目录,均会被 Git 自动拦截。 -
2.1.2 敏感信息保护:显式添加
.env是运维安全的首要准则,防止 API 密钥或私钥意外泄露。
3. 运维验证:确认忽略生效
执行完清理流程后,需验证敏感文件是否已从 Git 的追踪清单中消失。
3.1 索引检查命令
# 验证是否存在被追踪的 .obsidian 文件
git ls-files | grep ".obsidian"
# 验证指定目录是否已从追踪列表移除
git ls-files | grep "Web3安全"
预期结果:若命令执行后没有任何输出(返回为空),则表示该路径已成功脱离 Git 追踪,不会再出现在远程仓库中。