赞
踩
我们经常在项目中使用.gitignore
去忽略文件,比如
# .gitignore忽略项目依赖和打包文件
node_modules
dist
其实,除了Git,ESLint和Prettier同样提供了对应的ignore文件
.eslintignore
为ESLint忽略指定文件.prettierignore
为Prettier忽略指定文件同Git,显然我们不希望对如node_modules
依赖文件夹中的文件进行格式化或者做代码质量检查,所以忽略指定文件是必要的。
幸运的是,ESLint和Prettier的忽略规则与Git是一致的。
对于ESLint,其官网提到:
Please see .gitignore’s specification for further examples of valid syntax.
对于Prettier,其官网提到
.prettierignore uses gitignore syntax.
接下来我们来详细看一下,.gitignore都有哪些规则
#
表示注释/
斜杠,他有两个语义。当被放到一条规则的起始或者中间,则这条规则被表示为一个相对于.gitignore文件的目录或文件,反之,若起始或中间没有斜杠,则表示匹配到任意目录或文件。比如一条规则是App.vue
,那么即使App.vue被放到了src目录内,同样也是能匹配到的。另外一个语义则是/
被放到一条规则的尾部,此时其用来区分一个目录,而非一个文件。他与第一个语义不冲突,比如frotz/
代表任意目录下包含frotz/
的目录。!
取反符号表示忽略指定目录或文件,言下之意就是让git再次跟踪其包含的文件。其规则与上一条也不冲突。但有一个注意事项,即指定忽略的文件或目录的父目录不能被整体忽略。比如我先包含src
,之后忽略!src/App.vue
这是不生效的。可以写成src/*
,后忽略!src/App.vue
。**
有三种语义,**/foo
表示任意目录下的foo;abc/**
表示abc之后任意目录下的文件;a/**/b
表示a目录下任意级目录的子目录b。# 排除了 foo/bar 的所有文件。
/*
!/foo
/foo/*
!/foo/bar
Prettier官网: https://prettier.io/docs/en/ignore.html
ESLint官网:https://eslint.org/docs/user-guide/configuring/ignoring-code
Git官网:https://git-scm.com/docs/gitignore#_pattern_format
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。