I know the nuisance of having to tiptoe around files you don't want to add to history.
In case it helps your use case:
git update-index --assume-unchanged <file>
git update-index --no-assume-unchanged <file>
This would ignore changes while you're testing - but you have to remember to turn it off or, iiuc, you won't pull intentional changes either.You might find hooks useful too. Not to assume your knowledge, these are shell scripts placed in .git/hooks that are invoked, e.g., before commit or before push. You could have it parse git status, detect changes to <file>, prompt for confirmation if changed and remove from working set if the change is unintentional.