我有一个项目,我想忽略一个名为.eslintrc.js
的根文件。团队只希望在构建工具中使用lint而不是在IDE中。我想将它添加到我的机器上的根目录中并忽略它而不使用.gitignore
用于该项目。
我也不想将/.eslintrc.js
添加到我的~/.gitignore_global
文件中,因为当我不想忽略linting规则时我有其他项目。
我试过添加
~/code/repo-name/.eslintrc.js
在我的~/.gitignore_global
文件中,但然后git不承认该规则。
如何制作一个全局git忽略规则,该规则适用于某些项目,而不适用于其他项目?
我可以设置git来忽略某些东西吗?
首先,值得一提的是关于忽略文件模式的一个棘手的问题:如果它们包含一个前导或嵌入的斜杠,它们适用于多个名称组件,但如果它们不适用,它们将应用于一个名称组件(在Git遍历的任何目录中,递归地,当时)。删除尾部斜杠(如果有)后应用此规则,以便包含以下内容的.gitignore
文件:
abc
def/ghi
忽略从此点“向下”发生的名为abc
的所有文件(和目录),而忽略此时发生的def/ghi
。第二行与/def/ghi
完全相同。
我可以设置git来忽略某些东西吗?
不.Gitignore模式要么与忽略文件发生的目录(对于大多数.gitignore
文件)或项目根目录(对于.git/info/exclude
和您的个人忽略文件)相关。也就是说,假设该项目位于/home/arron/project/proj1
并且:
$ cd ~/project/proj1/
$ cat .gitignore
/abc
sub/file
$ cat sub/.gitignore
/dir/
所有这些条目都包含/
或以.gitignore
开头,因此顶级abc
抑制了对项目顶层未跟踪文件file
的抱怨以及对sub
目录中未跟踪文件sub
的投诉。同时目录.gitignore
有自己的dir
,不仅抑制投诉,但停止Git甚至枚举sub
内的目录project/proj1/sub/dir/
的内容,即Git根本没有看到.gitignore
内部(因此既没有发现,也没有抱怨,该目录中任何未跟踪的文件)。
请注意,如果我们修改两个$ cat .gitignore
/abc
$ cat sub/.gitignore
/file
/dir/
文件,以便我们改为:
qazxswpoi
被忽略的文件集保持完全相同。