.gitignore文件规则不起效的解决办法

在一个项目里面,多少会有一些文件是不需要上传到git上面的,比如node的依赖模块node_modules,这个文件夹超过10000个文件,大小也超过80M。所以,一个.gitignore文件省不了,但是有些时候,明明在项目中配置了.gitignore文件。但是没有起效。原因可能是下面这个

.gitignore规则不生效的解决办法

如果把某些目录或文件加入忽略规则,按照上述方法定义后发现并未生效,原因是.gitignore只能忽略那些原来没有被追踪的文件,如果某些文件已经被纳入了版本管理中(通俗一点的说法就是,改项目已经提交了一次,但那次提交并没有加入.gitignore文件,或者就是提交至少一次之后,再添加.gitignore文件),则.gitignore是无效的,不会起作用的。解决方法就是先把本地缓存删除,然后再提交:

$ git rm -r --cached .
$ git add .

PS:(

git中如果想忽略掉某个文件,不把这个文件提交到git上,可以使用修改根目录中 .gitignore 文件的方法(如果没有这个文件,则需自己动手创建该文件)。这个文件每行保存了一个匹配的规则,如:

.idea      //忽略.idea文件夹和下面的文件
node_modules    //忽略node_modules安装依赖文件
*.log    //忽略错误文件
dist           //忽略项目打包输出文件
webpack.config.babel.js //忽略webpack配置文件

    原文作者:守候
    原文地址: https://segmentfault.com/a/1190000009765563
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞