Eu recentemente clonado um repositório github e .gitignore simplesmente não estava ignorando alguns arquivos versionados.
Alguns arquivos no .gitignore não devem ser confirmados no repositório original, pois são arquivos de configuração.
Para evitar que esses arquivos sejam confirmados, um bom truque é deixar o git assumir que eles não foram alterados:
git update-index --assume-unchanged path/to/file.txt
Para reverter este processo, use:
git update-index --no-assume-unchanged path/to/file.txt
Fonte original:
https://help.github.com/articles/ignoring-files