Как не игнорировать на основе ключевого слова в.gitignore

Поскольку я использую Microsoft Nuget, я хочу игнорировать все каталоги пакетов в моих проектах (их очень много, и все эти файлы временные). К сожалению, в библиотеке JavaScript у меня тоже есть в том же хранилище, мне нужен каталог пакета. Итак, у меня есть.gitignore

...
package
...

Но в моем каталоге

/JavaScript/package/importantfiles

Я хочу не игнорировать этот файл.

Как я могу позволить игнорировать весь "пакет", но в каталоге /JavaScript/... я хочу, чтобы пакет был включен в систему контроля версий?

1 ответ

Не забывайте, что:

Невозможно повторно включить файл, если исключен родительский каталог этого файла (*)
(*: если в git 2.8+ не выполнены определенные условия, см. ниже)

Это означает, что вам нужно игнорировать файлы папки пакета, чтобы игнорировать один из этих файлов:

package/*
!importantFile

Обратите внимание, что в git 2.8.x/2.9 (середина 2016 года?) Может оказаться возможным повторно включить файл, если родительский каталог этого файла будет исключен, если в пути не будет подстановочного знака.

Nguy Thn Thái Ngọc Duy ( pclouds ) пытается добавить эту функцию:

Так что в вашем случае это будет работать:

/JavaScript/package
!/JavaScript/package/importantfiles
Другие вопросы по тегам