Your comments

I agree, I think the following is easier, and probably should be part of a smart git command
(the auto commit could be an option):

git rm -r --cached . 
git add .
git commit -am "Remove ignored files and resubmitting files"

As an additional step, I think you could automatically check in the background whenever a `.gitignore` changes, whether or not there would be any changes and potentially ask the user.