Eu tenho alguns arquivos rastreados em um repositório que são modificados automaticamente ao criar o código. Não quero rastreá-los, apenas não quero que eles apareçam como modificados e não quero que eles sejam encenados quando eu adicionar.
Isso é possível?
Respostas:
Certo.
Para desfazer e começar a rastrear novamente:
fonte
Git will fail (gracefully) in case it needs to modify this file in the index e.g. when merging in a commit; thus, in case the assumed-untracked file is changed upstream, you will need to handle the situation manually.
--assume-unchanged
na clonagem? Para que todos os usuários tenham os arquivos, mas não vejam alterações locais nos diffs.git update-index --no-assume-unchanged $(git ls-files $(git rev-parse --show-toplevel))
definido como um alias a git. Sempre que suspeito que são algumas dessas travessuras, faço isso.Outra abordagem (de uma resposta agora excluída de Seth Robertson, mas achei útil para ressuscitá-lo) é manter um arquivo de modelo "rastreado" e ter uma versão local não rastreada, por exemplo: "config.sample.ini" ou " config.ini.template ", consulte https://gist.github.com/canton7/1423106 para obter um exemplo completo.
Então não haverá preocupações se o arquivo for alterado no git, etc. e você poderá usar .gitignore (finalmente) nos arquivos locais não rastreados.
fonte
Outra solução usando atributos git e% f no comando filter:
fonte