1
git rm --cached <文件名>
如果是整个目录:
1
git rm --cached -r <目录名>
然后提交这个更改:
1
git commit -m "停止跟踪某文件"
常见使用场景:
假设你不小心提交了配置文件,现在想停止跟踪它:
1
2
3
4
5
6
7
8
9
# 1. 停止跟踪文件
git rm --cached config.json
# 2. 将文件添加到 .gitignore
echo "config.json" >> .gitignore
# 3. 提交更改
git add .gitignore
git commit -m "停止跟踪 config.json"
注意事项:
--cached参数很重要,它只删除 Git 索引中的文件,不会删除工作目录中的实际文件- 如果不加
--cached,文件会从你的本地目录中被删除 - 其他协作者在 pull 这个提交后,该文件会从他们的工作目录中被删除(如果他们没有本地修改)
- 建议同时将文件添加到
.gitignore中,防止将来再次被跟踪
这样文件就会保留在你的本地,但 Git 不再跟踪它的变化了。