git .gitignore使用无效的解决方法

.gitignore使用无效的解决方法

  • 如果在创建.gitignore文件之前就已经push了项目,Git仍然会对所有文件进行版本管理;
  • 或push后,在.gitignore文件中更新过滤规则,新规则也不会起作用。

原因:新建的文件在git中会有缓存,当Git已经开始管理这些文件后,新建.gitignore文件或更新忽略规则就不生效、不起作用了。

解决方法:先清除本地缓存,然后再进行git push。git清除本地缓存命令如下:

git rm -r --cached .
git add .
git commit -m "update .gitignore"
git push -u origin master

因此,一定要养成在项目开始就创建.gitignore文件的习惯;如果需要更新忽略规则,在更新后执行上述命令使其生效。

常用的规则

以斜杠/开头表示目录;
以星号*通配多个字符;
以问号?通配单个字符
以方括号[]包含单个字符的匹配列表;
以叹号!表示不忽略(跟踪)匹配到的文件或目录;

【注意】git 对于 .ignore 配置文件是按行从上到下进行规则匹配的,意味着如果前面的规则匹配的范围更大,则后面的规则将不会生效;

示例说明
a、规则:dir/*
说明:忽略相对目录 dir 下的全部内容;不管是根目录下的 /dir/ 目录,还是某个子目录 /sudDir/dir/ 目录,都会被忽略;
b、规则:/dir/*
说明:只忽略根目录下的 /dir/ 目录的全部内容;
c、规则:
/*
!.gitignore
说明:忽略全部内容,但不忽略 .gitignore 文件。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容