Q:

Как не игнорировать файл в игнорируемой папке? 

У меня есть папка которая игнорируется app/design/frontend/rwd/ и все её содержимое тоже игнорируется я пару раз сделал push.  
Но теперь мне нужно создать там файл vendor.xml который игнорировать не надо. 
Сделал так: 
! app/design/frontend/rwd/vendor.xml

Но оно всё равно игнорируется!  делаю git status  но он не отслеживается и git add app/design/frontend/rwd/vendor.xml тоже пробовал!  
Что в таком случаи сделать чтоб гит перестал его игнорировать ? 

A:

Попробуйте сначала указать игнорирование всех файлов в папке, а потом указать неигнорирование строго определённого файла:
app/design/frontend/rwd/*
! app/design/frontend/rwd/vendor.xml

Подробнее — в документации. 

A:

Универсальное решение дано в ответе Юрия.  Но в данном случае можно не редактировать файл .gitignore, а использовать добавление в индекс с ключом -f. 
git add -f app/design/frontend/rwd/vendor.xml

Однажды добавленный и сохранённый в коммите, этот файл будет версионироваться и дальше.  Если захотите перестать его версионировать:
git rm --cached app/design/frontend/rwd/vendor.xml

