Могу ли я включить другой файл .gitignore в файл .gitignore?(например, #include в c-подобных языках) - PullRequest
19 голосов
/ 10 августа 2011

У меня есть некоторые файлы, такие как vim.gitignore, SVN.gitignore и CVS.gitignore (распространяются на моем жестком диске).

Могу ли я просто включить эти файлы gitignore в файл .gitignore в новомGit project?

Редактировать : у меня уже есть глобальный файл игнорирования.
Я просто хочу игнорировать разные файлы в разных типах проектов, возможно ли это?

Ответы [ 3 ]

7 голосов
/ 10 августа 2011

Вы можете:

  • иметь шаблон репо с:
    • этими файлами xxx.gitignore в нем:
    • файлом .gitignore с "xxx-gitignore-xxx"в нем (другими словами, с содержимым вы можете легко определить
    • a .gitattribute драйвер фильтра

(для каждого нового репо вы клонируете его и можете начинать с тех файлов, которые там уже есть.
Затем вы удаляете удаленный «источник» или заменяете его любым удаленным репо, к которому хотите подключиться)

enter image description here

При любом оформлении вашего репо драйвер фильтра через сценарий размазывания:

  • распознает содержимое .gitignore file
  • проверка, если контент xxx.gitignore еще не существует (путем поиска конкретной строки, которая есть только в этих файлах)
  • , если их контент отсутствует, он добавитсясодержимое этих xxx.gitignore файлов
  • , если содержимое уже обновлено, оно не изменит .gitignore.

. идентифицируемое содержимое является ключевым здесь, поскольку сценарий драйвера фильтра не имеет имени / пути к файлу, который он фильтрует .

Это немного запутанно,но, похоже, это единственный способ реализовать желаемую функцию «включения».

6 голосов
/ 10 августа 2011

Закрытия, которые вы получите, - это глобальный файл игнорирования:

git config --global core.excludesfile ~/.gitignore

, который, конечно, похож на .gitignore в репо, но применим ко всем репо в вашей системе (и не распространяется навнешние клоны.)

0 голосов
/ 22 января 2019

Я запускаю проект, в котором размещено наибольшее количество шаблонов gitignore, и он чрезвычайно прост в использовании.

Это не позволяет никому включать под-шаблоны, но генерирует один большой шаблон из отдельных шаблонов git.

...