2016-12-09 5 views
1
-public/ 
--dist/ 
----external/ 
------external-resource.js 
----main.js 
----main.css 
----favicon.ico 

У меня есть эта структура каталогов и в моем .gitignore я эти записи:.gitignore не правильно белый список конкретных файлов

public/dist/ 
!public/dist/favicon.ico 
!public/dist/external/ 

Я бы ожидать мерзавец игнорировать весь общественный/DIST/каталог но белый список favicon.ico и весь внешний каталог /.

Я использую WebStorm, и он окрашивает элементы, которые gitignored в сером цвете. Он выделяет каталог favicon.ico и external /, что кажется, что они исключены из gitignore, но git не видит файлы.

Если я пытаюсь выполнить команду:

git add public/dist/favicon.ico 

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

Почему это происходит? Все, что я читал, кажется, делает это как мой gitignore правильно (даже WebStorm)

Версия Git я использую: 1.9.5.mysysgit.1

ответ

3

Это работает, как ожидалось. На странице руководства gitignore:

Невозможно повторно включить файл, если родительский каталог этого файла исключен.

Вы вместо этого должны были бы написать правило, как:

public/dist/* 
!public/dist/favicon.ico 

Здесь задней * обозначает разницу - вы не игнорируя саму dist каталог Bt, а игнорируя все, что в нем, которая отличается , Затем вы можете выборочно повторно включить отдельный файл.

+0

Это будет сделано! Интересно, почему WebStorm заставлял меня поверить, что это было правильно. Должен быть надзор в их синтаксическом анализаторе gitignore. – Nick

Смежные вопросы