Confirmei muitos arquivos que agora quero ignorar. Como posso dizer ao git para agora ignorar esses arquivos de confirmações futuras?
EDIT: Eu também quero removê-los do repositório. São arquivos criados após a compilação ou para suporte a ferramentas específicas do usuário.
Respostas:
.gitignore
para corresponder ao arquivo que você deseja ignorargit rm --cached /path/to/file
Veja também:
fonte
Depois de editar
.gitignore
para corresponder aos arquivos ignorados, você pode fazergit ls-files -ci --exclude-standard
para ver os arquivos incluídos nas listas de exclusão; você pode então fazerpara removê-los do repositório (sem excluí-los do disco).
Editar : Você também pode adicionar isso como um alias no seu arquivo .gitconfig para poder executá-lo quando quiser. Basta adicionar a seguinte linha na seção [alias] (modifique conforme necessário para Windows ou Mac):
(A
-r
flag inxargs
impede agit rm
execução de um resultado vazio e a impressão de sua mensagem de uso, mas pode ser suportada apenas pelo GNU findutils. Outras versõesxargs
podem ou não ter uma opção semelhante.)Agora você pode digitar
git apply-gitignore
seu repositório e ele fará o trabalho para você!fonte
!
git anterior? bem ... o meu funcionou comoalias apply-gitignore="git ls-files -ci --exclude-standard -z | xargs -0 git rm --cached"
. tks!for /F "tokens=*" %a in ('git ls-files -ci --exclude-standard') do @git rm --cached "%a"
-r
é padrão e não é aceito pelas versões do BSD. Então remova-r
.para deixar o arquivo no repositório, mas ignore futuras alterações nele:
e desfazer isso:
para descobrir quais arquivos foram configurados dessa maneira:
crédito pela resposta original a http://blog.pagebakers.nl/2009/01/29/git-ignoring-changes-in-tracked-files/
fonte
git ls-files -ci --exclude-standard -z | xargs -0 git update-index --assume-unchanged
se isso ajudar.git rm --cached
irá remover o arquivo no repositório, o que não atende à necessidade do quizzer. Obrigado. Eu realmente gostei disso. Sua resposta me ajuda muito.Certifique-se de que seu repo real seja a versão mais recente
.gitignore
como desejargit rm -r --cached .
git add .
depois cometa como de costume
fonte
git reset HEAD
(Lembre-se de guardar as alterações)Pergunta antiga, mas alguns de nós estão dentro
git-posh
(PowerShell). Esta é a solução para isso:fonte
Siga esses passos:
Adicionar caminho ao
gitignore
arquivoExecute este comando
confirmar as alterações normalmente.
fonte