详解如何优雅地从 Git 仓库中移除已被追踪的文件,并介绍相关的最佳实践和注意事项。

问题背景

在项目开发中,经常会遇到一些不应该被 Git 追踪的文件被意外提交的情况,比如:

  • IDE 配置文件(.vscode、.idea 等)

  • 编译生成的文件夹(node_modules、dist 等)

  • 本地配置文件

  • 日志文件

解决步骤

1. 创建或更新 .gitignore

首先确保在 .gitignore 文件中添加需要忽略的文件规则,例如:

2. 从 Git 缓存中删除文件

使用以下命令从 Git 缓存中删除文件,但保留物理文件:

3. 提交更改

4. 推送到远程仓库

注意事项

  1. git rm --cached 只会取消 Git 追踪,不会删除物理文件

  2. 如果要同时删除物理文件,去掉 -cached 参数即可

  3. 删除文件夹时必须使用 r 参数

  4. 其他团队成员需要拉取最新代码以同步更改

 

个人笔记记录 2021 ~ 2025