gitignore 的匹配规则
除了 .gitignore 以外,很多工具都有 ignore 文件,比如 .eslintignore, .prettierignore 等等。它们的语法都是跟 .gitignore 一样的。现在我们来看一下 .gitignore 的一些基础语法。
- #:注释
- dist: 匹配名叫 dist 的目录或文件
- /dist: 匹配相对于 gitignore 目录下的 dist 目录
- dist/: 匹配 dist 目录
- *:通配符。包括0个或多个字符但不包括斜杠。
- logs/*.log: 匹配logs目录下后缀为.log的文件
- **:匹配任意字符包括斜杠
- logs/**/*.log: 匹配logs目录下任意层级目录下的.log文件
- ?: 只匹配一个字符
- ?.log: 能匹配a.log,但不能匹配ab.log
- []: 匹配一个字符
- [0-9].log: 能匹配1.log
- !: 排除
- !.gitkeep: 在上面匹配规则的基础上,排除掉.gitkeep文件
举例
# 排除了 foo/bar 的所有文件。
/*
!/foo
/foo/*
!/foo/bar
/* 表示忽略根目录下的所有文件和目录。
gitignore的一些参考配置
.DS_Store
node_modules
# local env files
.env.local
.env.*.local
.env.development
.env.production
# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
.history
.resolve.conf.js
参考:ESlint Prettier Git 中使用 ignore忽略文件的规则解释_胡聊前端的博客-CSDN博客_prettier忽略文件