Есть ещё варианты, почему это происходит:
у вас в .gitignore после строчек "/includes/Smarty/templates_c/
/templates_c/"
может стоять исключение, например:
"!*.c", в итоге все файлы с расширением .c не будут игнорироваться.
Это может быть как в .gitignore, который лежит в корневой директории репозитория, так и глубже, например тут /includes/.gitignore или тут /includes/Smarty/.gitignore
И ещё, может такая же проблема, как у этого человека:
Почему не работает шаблон в .gitignore?