Исключения из .gitignore

Как добавить исключение в .gitignore, например "игнорировать все DLL файлы НО myfile.dll"?

Ответ 1

Используйте !, чтобы скрыть шаблон:

*.dll
!myfile.dll

Ответ 2

Если вы хотите игнорировать всю папку, кроме некоторых определенных файлов, напишите:

MyFolder/*
!MyFolder/CoolFile.txt

Эта не будет работать:

MyFolder/
!MyFolder/CoolFile.txt

Ответ 3

Вы также можете игнорировать папки, например,

!src/main/resources/archetype-resources/**/*

вы также можете игнорировать вложенную папку с шаблонами, например,

!**/src/test/resources/**/*

Ответ 4

У вас может быть несколько файлов .gitignore, работающих вместе в иерархическом порядке для достижения вашей цели. На корневом уровне вы можете иметь:

корень

*.dll

внутри папки с myfile.dll вы можете добавить еще один файл .gitignore, например так:

корень/Lib/folderwithMyFiledll

!myfile.dll

больше информации здесь

Необязательный префикс "!" который отрицает образец; любой соответствующий файл, исключенный предыдущим шаблоном, снова будет включен. Поставьте обратную косую черту ("\") перед первым "!" для шаблонов, которые начинаются с буквального символа "!", например, "! Important!.txt". Возможно повторно включить файл, если родительский каталог этого файла исключен, если соблюдены определенные условия. Смотрите раздел ПРИМЕЧАНИЯ для деталей.

Ответ 5

Я сделал это, потому что у меня есть папка с именем /modules, которую я хочу игнорировать, за исключением всего, что находится в папке /modules/custom. Это сработало для меня. Теперь мои пользовательские модули будут синхронизированы с github.

/modules/*
!/modules/custom/