Git: ignorar arquivos rastreados

Eu tenho alguns arquivos rastreados em um repository que são modificados automaticamente ao criar o código. Eu não quero desimpedi-los, eu só não quero que eles apareçam como modificados e eu não quero que eles sejam encenados quando eu adicionar.

Isso é possível?

Certo.

git update-index --assume-unchanged file 

Para desfazer e começar a rastrear novamente:

 git update-index --no-assume-unchanged [ ...] 

Outra abordagem é manter um arquivo de modelo “rastreado” e ter cópias locais não rastreadas dele, ex: https://gist.github.com/canton7/1423106

Então não haverá nenhuma preocupação se o arquivo for alterado dentro de git, etc. e você pode usar .gitignore (finalmente) no arquivo local não controlado.

Uma outra solução usando atributos git e% f no comando filter:

 git config filter.orig.clean "cat %f.orig" cp filename filename.orig echo "filename filter=orig" >> .git/info/attributes echo "filename.orig" >> .git/info/exclude