У меня есть gitignore файл, который заставляет мерзавца проигнорировать *.dll
файлы, и это - на самом деле поведение, которое я хочу. Однако, если я хочу исключение (т.е. смочь фиксировать foo.dll
), как я могу достигнуть этого?
Используйте:
*.dll #Exclude all dlls
!foo.dll #Except for foo.dll
From gitignore :
Необязательный префикс! который сводит на нет узор; любой соответствующий файл, исключенный предыдущим шаблоном, снова будет включен. Если соответствует инвертированный шаблон, это переопределит источники шаблонов с более низким приоритетом.
Вы можете просто git add -f path/to/foo.dll
.
.gitignore
игнорирует только файлы для обычного отслеживания и тому подобное git add .
! Foo.dll
в .gitignore или (каждый раз!) git add -f foo.dll
Просто добавьте !
перед правилом исключения.
Согласно странице gitignore man page:
Шаблоны имеют следующий формат:
...
- Необязательный префикс !, который отрицает шаблон; любой подходящий файл, исключенный предыдущим шаблоном, будет включен снова. Если шаблон с отрицанием совпадает, он отменяет источники шаблонов с более низким приоритетом.