Estou adicionando isso ao arquivo .gitignore
.idea/*
de qualquer maneira, o status é:
# modified: .gitignore
# modified: .idea/.generators
# modified: .idea/dovezu.iml
# modified: .idea/misc.xml
# modified: .idea/workspace.xml
O que estou fazendo de errado ? eu até adicionei .idea / * ao status global ~ / .gitignore_global, mas git, de qualquer maneira me mostra:
# modified: .gitignore
# modified: .idea/.generators
# modified: .idea/dovezu.iml
# modified: .idea/misc.xml
# modified: .idea/workspace.xml
Respostas:
Você
.gitignore
está funcionando, mas ainda rastreia os arquivos porque eles já estavam no índice.Para parar isso, você deve fazer:
git rm -r --cached .idea/
Quando você confirmar, o
.idea/
diretório será removido do seu repositório git e as seguintes confirmações ignorarão o.idea/
diretório.PS: Você pode usar em
.idea/
vez de.idea/*
ignorar um diretório. Você pode encontrar mais informações sobre os padrões sobre o .gitignore página homem .Citações úteis na
git-rm
página de manualfonte
.gitignore
e depois executargit rm -cached
?commit
depois de remover os arquivos em cache? Isso realmente parece contra-intuitivo; esses são arquivos que NÃO quero confirmar. E eu não quero que eles sejam excluídos do repositório (eu apenas quero que eles não fiquem mais ocupadosgit status
). Ou estou apenas realmente confuso?Para as pessoas que ainda estão pesquisando esse problema, estão visualizando apenas esta página.
Isso o ajudará a remover os arquivos de índice armazenados em cache e a adicionar apenas os necessários, incluindo alterações no seu
.gitignore
arquivo.Aqui está um pouco mais de informação.
fonte
As soluções oferecidas aqui e em outros lugares não funcionaram para mim, portanto, acrescentarei à discussão para futuros leitores. É certo que ainda não compreendo completamente o procedimento, mas finalmente resolvi meu problema (semelhante) e quero compartilhar.
Eu tinha armazenado em cache acidentalmente alguns diretórios de documentos com várias centenas de arquivos ao trabalhar com o git no IntelliJ IDEA no Windows 10 e, após adicioná-los ao
.gitignore
(e PROVÁVEL movê-los um pouco), não consegui removê-los do Changelist padrão.Primeiro comprometi as mudanças reais que fiz e depois resolvi isso - demorei muito tempo. Eu tentei
git rm -r --cached .
, mas que sempre sepath-spec
ERROS, com diferentes variações dopath-spec
, bem como com o-f
e-r
bandeiras.git status
ainda mostraria os nomes dos arquivos, então tentei usar alguns desses comgit rm -cached
, mas sem sorte. Armazenar e desmontar as alterações pareceu funcionar, mas elas ficaram na fila novamente depois de um tempo (sou um pouco confuso no período exato). Finalmente removi essas entradas para uso corretoPresumo que essa seja apenas uma BOA IDÉIA quando você não tiver alterações em etapas / armazenadas em cache que realmente deseja confirmar.
fonte
Basta adicionar
git rm -r --cached <folder_name/file_name>
Às vezes, você atualiza o arquivo .gitignore após o comando de confirmação dos arquivos. Portanto, os arquivos são armazenados em cache na memória. Para remover os arquivos em cache, use o comando acima.
fonte
Git add.
Status do Git // Verifique o arquivo que está sendo modificado
// git reset HEAD --- substitua para qual arquivo você deseja ignorar
git reset HEAD .idea / <- Aqueles que desejavam excluir .idea antes de confirmar // o status de verificação do git e o arquivo de ideias desapareceram, e você está pronto para começar!
git commit -m ''
empurrão
fonte