Acolhi acidentalmente o .idea/
diretório no git. Isso está causando conflitos em qualquer outro lugar em que preciso fazer check-out no meu repo. Eu queria saber como faço para remover esses arquivos do controle remoto?
Ainda preciso desses arquivos localmente, pois o Intellij IDE precisa deles. Só não os quero no controle remoto. Adicionei o diretório .idea/
ao meu .gitignore
e confirmei e enviei este arquivo para remoto. Isso parece não ter efeito durante meu check-out na minha outra máquina. Ainda recebo a mensagem de erro:
error: The following untracked working tree files would be overwritten by checkout:
.idea/.name
.idea/compiler.xml
.idea/copyright/profiles_settings.xml
.idea/encodings.xml
.idea/misc.xml
.idea/modules.xml
.idea/scopes/scope_settings.xml
.idea/uiDesigner.xml
.idea/vcs.xml
.idea/workspace.xml
commit
com-v
para mostrar o diff no seu editor quando você está escrevendo o commit. Isso ajuda a evitar esse tipo de erro e a focar sua mensagem de confirmação no que você mudou..idea
-o.Respostas:
Adicione o diretório .idea à lista de arquivos ignorados
Primeiro, adicione-o
.gitignore
, para que não seja acidentalmente confirmado por você (ou outra pessoa) novamente:Remova-o do repositório
Segundo, remova o diretório apenas do repositório, mas não o exclua localmente. Para conseguir isso, faça o que está listado aqui:
Envie a alteração para outras pessoas
Terceiro, confirme o
.gitignore
arquivo e a remoção do.idea
repositório. Depois disso, empurre-o para o controle remoto.Resumo
O processo completo ficaria assim:
(opcionalmente, você pode substituir a última linha por
git push some_remote
, ondesome_remote
está o nome do controle remoto para o qual você deseja enviar)fonte
fatal: pathspec '.idea' did not match any files
ao executargit rm -r --cached .idea
, exclua a pasta .idea, puxe do github e tente novamente..idea
pasta para confirmar arquivos?Você pode removê-lo do repositório e confirmar a alteração.
Depois disso, você pode enviá-lo para o controle remoto e todos os check-out / clones depois disso ficarão ok.
fonte
Você deve adicionar um arquivo .gitignore ao seu projeto e adicionar
/.idea
a ele. Você deve adicionar cada diretório / arquivo em uma linha.Se você já possui um arquivo .gitignore , basta adicionar uma nova linha ao arquivo e colocá
/.idea
-la na nova linha.Depois disso, execute o
git rm -r --cached .idea
comando.Se você encontrou um erro, pode executar o
git rm -r -f --cached .idea
comando. Afinal, executegit add .
e, em seguida,git commit -m "Removed .idea directory and added a .gitignore file"
e finalmente pressione as alterações executando ogit push
comandofonte
É melhor fazer isso através da ramificação Master
Edite o arquivo .gitignore. Adicione a linha abaixo nela.
Remova a pasta .idea do repositório remoto. usando o comando abaixo.
Para mais informações. reference: Removendo arquivos de um repositório Git sem realmente excluí-los
Arquivo .gitignore do estágio. Usando o comando abaixo
Confirmar
Enviar para remoto
fonte