清空git缓存
一、总结
一句话总结:
git rm --cached "文件路径",不删除物理文件,仅将该文件从缓存中删除;
git rm --f "文件路径",不仅将该文件从缓存中删除,还会将物理文件删除(不会回收到垃圾桶);
二、清空git缓存
转自或参考:git删除缓存区中文件
https://www.cnblogs.com/coder-zyc/p/9785002.html
删除缓冲区中的文件
- git rm --cached "文件路径",不删除物理文件,仅将该文件从缓存中删除;
- git rm --f "文件路径",不仅将该文件从缓存中删除,还会将物理文件删除(不会回收到垃圾桶);
如果一个文件已经add到暂存区,还没有 commit,此时如果不想要这个文件了,有两种方法:
- 用版本库内容清空暂存区,git reset HEAD 回退到当前版本(在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100);
- 只把特定文件从暂存区删除,git rm --cached xxx;
======================================================
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
读了下git文档,才发现,这些东西其实很简单,很容易理解。cached其实就是暂存区,然后一个是工作的目录,你的工作目录的东西做出修改时,会和缓存区进行对比,因此你git status时,会显示出来这个差异,因此为了使.gitignore中的内容生效,那么就删除掉暂存区,然后将所有本地文件追踪一下,就得到最新的暂存区文件。