Как игнорировать определенный тип файла в определенном каталоге и его подкаталоге в Git? - PullRequest
10 голосов
/ 28 сентября 2011

Как я могу игнорировать определенный тип файла только в одном каталоге и его подкаталоге?

Чтобы объяснить, что я имею в виду, отображая следующую настройку

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

Я хочу сделать так, чтобы git (используя файл .gitignore) игнорировал * .iml, но только в каталоге foldtertoignore .

Я думал, что это будет работать

foldertoignore/*.iml

Но это только нашел ignoreme1.iml не ignoreme2.iml

Я знаю, как сказатьэто игнорировать * .iml за исключением конкретного каталога.Это обратное.Есть мысли?

Ответы [ 2 ]

8 голосов
/ 28 сентября 2011

.gitignore правила применяются рекурсивно из содержащей директории. Просто создайте файл foldertoignore/.gitignore с *.iml в качестве содержимого.

>>foldertoignore/.gitignore echo '*.iml'
git add foldertoignore/.gitignore
git commit -m 'Ignore .iml files in foldertoignore and its subfolders'
1 голос
/ 28 сентября 2011

Вы можете попробовать это:

/foldertoignore/**/*.iml

Может работать или не работать в зависимости от реализации fnmatch в вашей ОС, я полагаю.Альтернатива:

*.iml
!/anotherdir/*.iml
!/*.iml
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...