39-git-34-gitignore

概述

一些工作区中的文件不需要提交到远程,所以需要让git忽略他们,不对其进行检测,方法就是创建.gitignore文件

忽略规则

语法

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

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

示例

忽略

# 忽略根目录下的public下的所有目录及文件
/public/*

# 忽略所有目录名为public下的所有目录及文件
public/*

# 忽略具体的文件
/public/index.html

# 忽略所有的.zip文件
*.zip

# 忽略 a.zip b.zip
[ab].zip

保留

# 不过滤该文件夹
!src/

问题

忽略规则不生效

原因是当前文件已经被加入到git仓库中

git rm -r --cached .
git add .
git commit -m 'update .gitignore'

网站

https://github.com/github/gitignore

gitignore.io