官方参考:
Git官方文档-记录每次更新到仓库
总结
.gitignore文件只会在忽略的文件还未track(即未进行add commit等操作时有效)但有时我们会忘记添加.gitignore
文件,不小心把一个很大的日志文件或一堆 .a 这样的编译生成文件添加到暂存区
此时我们使用--cached
选项
git rm --cached README
git rm
命令后可以列出文件或目录的名字,也可以使用glob
模式
git rm log/\*.log
注意到星号 * 之前的反斜杠 \, 因为 Git 有它自己的文件模式扩展匹配方式,所以我们不用 shell 来帮忙展开。 此命令删除 log/ 目录下扩展名为 .log 的所有文件。 类似的比如:
git rm \*~
该命令会删除所以名字以 ~ 结尾的文件
删除错误track的文件后立即执行commit保存该时刻的版本,之后的提交就可正常通过.gitignore文件的规则进行忽略