Как я могу добавить исключение в .gitignore, например "игнорировать все файлы .dll, НО myfile.dll"?
Исключения в .gitignore
Ответы (5)
Используйте !
, чтобы инвертировать шаблон:
*.dll
!myfile.dll
Если вы хотите игнорировать всю папку, кроме некоторых конкретных файлов, напишите:
MyFolder/*
!MyFolder/CoolFile.txt
Это не сработает:
MyFolder/
!MyFolder/CoolFile.txt
MyFolder/sub/* !MyFolder/sub/file.txt
Но не будет: MyFolder/* !MyFolder/sub/file.txt
- person ben; 14.01.2015
Вы также можете игнорировать папки, например
!src/main/resources/archetype-resources/**/*
вы также можете игнорировать вложенную папку с шаблонами, например
!**/src/test/resources/**/*
Для быстрого создания файла .gitignore попробуйте gitignore.io
У вас может быть несколько .gitignore
файлов, работающих вместе в иерархическом порядке для достижения вашей цели. На корневом уровне у вас могут быть:
корень
*.dll
внутри папки с myfile.dll
вы можете добавить еще один .gitignore
файл следующим образом:
корень / lib / folderwithMyFiledll
!myfile.dll
дополнительная информация здесь
Необязательный префикс "!" который сводит на нет узор; любой соответствующий файл, исключенный предыдущим шаблоном, снова будет включен. Поставьте обратную косую черту ("\") перед первым "!" для шаблонов, начинающихся с буквального символа "!", например "! important! .txt". Можно повторно включить файл, если родительский каталог этого файла исключен при соблюдении определенных условий. См. Подробности в разделе «ПРИМЕЧАНИЯ».
Я сделал это, потому что у меня есть папка с именем /modules
, которую я хочу игнорировать, кроме всего, что находится в папке /modules/custom
. Это сработало для меня. Теперь мои пользовательские модули будут синхронизироваться с GitHub.
/modules/*
!/modules/custom/