如何忽略Git中某个目录及其子目录中的某种文件类型?

Lan*_*ngo 10 git

如何只在一个目录及其子目录中忽略某个文件类型?

解释我的意思是对以下设置进行成像

  • anotherdir /
    • seeme1.iml
  • foldertoignore /
    • ignoreme1.iml
    • seeme3.txt
    • anotherignorefolder /
      • ignoreme2.iml
      • seeme4.txt
  • seeme5.iml

我希望能够做的是告诉git(使用.gitignore文件)忽略*.iml但仅在目录foldtertoignore下.

我以为这会起作用

foldertoignore/*.iml
Run Code Online (Sandbox Code Playgroud)

但是,只发现ignoreme1.iml而不是忽略me2.iml

我知道如何告诉它忽略*.iml,除了特定的目录.这与此相反.有什么想法吗?

kni*_*ttl 8

.gitignore规则从包含目录递归应用.只需foldertoignore/.gitignore使用*.iml内容创建文件即可.

>>foldertoignore/.gitignore echo '*.iml'
git add foldertoignore/.gitignore
git commit -m 'Ignore .iml files in foldertoignore and its subfolders'
Run Code Online (Sandbox Code Playgroud)


man*_*lds 1

你可以试试这个:

/foldertoignore/**/*.iml
Run Code Online (Sandbox Code Playgroud)

我想它可能会或可能不会工作取决于您操作系统中的 fnmatch 实现。替代方案是:

*.iml
!/anotherdir/*.iml
!/*.iml
Run Code Online (Sandbox Code Playgroud)