я не совсем понял Ваше описание. my/file.pwn и есть скомпилированный файл?
Ну так, вы Сами его НЕ игнорируете и гит его обрабатывает.
Либо my/file.pwn это Ваш исходник. В таком случае, это нормальное поведение, если вы сначала добавили файл в ГИТ, а затем в .gitignore. Гит не перестает трекать файл, который когда либо был добавлен в ГИТ.
В таком случае лекарство git rm --cached my/compile_file