Как мне «перевернуть» шаблон файла gitignore в подкаталоге поддерева? - PullRequest
2 голосов
/ 10 февраля 2020

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

main
├── .gitignore
└── build (subtree)
    ├── .gitignore
    └── config.user.json
    └── config.site.json
└── index.js

Я бы хотел игнорировать config.user.json из обоих репо main и build, но сохранить config.site.json в основной репозиторий, но игнорировать его в поддереве build.

main / .gitignore

!build/config.site.json # (this is supposed to reverse the ignore)
build/config.user.json

build / .gitignore

build/config.site.json
build/config.user.json

Возможно ли это, или я должен поместить мои файлы конфигурации в другую папку, build. У меня такое ощущение, что .gitignore в поддереве переопределит .gitignore в основном репо, а не наоборот.

REF: Git Subtree Specifi c Игнорирование

Ура

1 Ответ

1 голос
/ 21 февраля 2020

Так не получится. Документация Git о gitignore гласит (выделено мое)

Каждая строка в файле gitignore указывает шаблон. При принятии решения о том, следует ли игнорировать путь, Git обычно проверяет шаблоны gitignore из нескольких источников со следующим порядком приоритета, от самого высокого до самого низкого (в пределах одного уровня приоритета, последний соответствующий шаблон решает результат ):

  • Шаблоны, считанные из файла .gitignore в том же каталоге, что и путь, или в любом родительском каталоге, причем шаблоны в файлах более высокого уровня (вплоть до верхнего уровня рабочего дерева) являются переопределяется теми, что находятся в файлах нижнего уровня, в каталог, содержащий файл .

https://git-scm.com/docs/gitignore

...