Meu .gitignore
arquivo não está funcionando por algum motivo e nenhuma quantidade de Googling foi capaz de corrigi-lo. Aqui está o que eu tenho:
*.apk
*.ap_
*.dex
*.class
**/bin/
**/gen/
.gradle/
build/
local.properties
**/proguard/
*.log
Está no diretório master
, que é o meu repositório git. Estou executando o Git 1.8.4.2 porque estou em um MacBook executando o OSX 10.8.6.
/bin/
pasta ainda mostra quando eu faço umgit status
. Eu não mudei esses arquivos desde que adicionei o.gitignore
Respostas:
Os arquivos / pasta no seu controle de versão não serão excluídos apenas porque você os adicionou ao arquivo
.gitignore
. Eles já estão no repositório e você deve removê-los. Você pode fazer isso com isso:( Lembre-se de confirmar tudo o que você mudou antes de fazer isso. )
Isso remove todos os arquivos do repositório e os adiciona novamente (desta vez respeitando as regras no seu
.gitignore
).fonte
git ignore path/file
a qualquer momento.Para rastrear um único arquivo que já foi adicionado / inicializado ao seu repositório, ou seja, pare de rastrear o arquivo, mas não o exclua do sistema:
git rm --cached filename
Para rastrear todos os arquivos que estão agora no seu
.gitignore
:Primeiro confirme as alterações de código pendentes e, em seguida, execute este comando:
Isso remove todos os arquivos alterados do índice (área de preparação) e, em seguida, basta executar:
Confirme:
fonte
Depois de descer um pouco da toca de um coelho tentando seguir as respostas para essa pergunta (talvez porque eu precisei fazer isso em um projeto de visual studio), achei o caminho mais fácil
Recortar e colar os arquivos que não quero mais rastrear em um local temporário
Confirme a "exclusão" desses arquivos
Confirmar uma modificação no
.gitignore
para excluir os arquivos que eu havia movido temporariamenteMova os arquivos de volta para a pasta.
Eu achei que essa era a maneira mais direta de fazer isso (pelo menos em um estúdio visual, ou eu assumiria outro ambiente baseado em heave IDE, como o Android Studio), sem acidentalmente me dar um tiro no pé com uma penetração bastante ampla
git rm -rf --cached .
, após o que o projeto do visual studio em que eu estava trabalhando não foi carregado.fonte
No meu caso, era um espaço em branco no início do arquivo que aparecia claramente quando eu abri o arquivo no Bloco de Notas, não era óbvio no Código do Visual Studio.
fonte
Eu usei algo para gerar algo comum
.gitignore
para mim e me deparei com isso. Depois de ler a resposta @Ozesh, abri no VS Code porque ele tem um bom indicador no canto inferior direito, mostrando o tipo de final de linha. Foi LF, então eu converti para CRLF, conforme sugerido, mas sem dados.Então olhei ao lado das terminações da linha e notei que elas foram salvas usando o UTF16. Então eu salvei novamente usando a codificação UTF8 de um voila, funcionou. Eu não acho que o CRLF importava, então mudei de volta para LF para ter certeza e ainda funcionava.
É claro que isso não era problema dos OPs, pois ele já havia confirmado os arquivos para que eles já estivessem indexados, mas achou que eu compartilharia caso alguém tropeçasse nisso.
TLDR ; Se você ainda não confirmou os arquivos e o .gitignore ainda não está sendo respeitado, verifique a codificação dos arquivos e verifique se o UTF8 é o UTF8 e, se isso não funcionar, tente mexer nas terminações das linhas.
fonte
No meu caso, os espaços em branco no final das linhas de .gitignore foram a causa. Portanto, cuidado com os espaços em branco no .gitignore!
fonte
Resolvi meu problema fazendo o seguinte:
Primeiro de tudo, eu sou um usuário do Windows, mas já enfrentei um problema semelhante. Então, eu estou postando minha solução aqui.
Há uma simples razão pela qual, às vezes, o .gitignore não funciona como deveria. Isso ocorre devido ao comportamento de conversão da EOL.
Aqui está uma solução rápida para isso
Editar> Conversão de EOL> Formato do Windows> Salvar
Você pode culpar suas configurações do editor de texto por isso.
Por exemplo:
Como sou desenvolvedor do Windows, normalmente uso o Notepad ++ para editar meu texto, diferentemente dos usuários do Vim.
Então, o que acontece é que, quando abro meu arquivo .gitignore usando o Notepad ++, ele se parece com isso:
Se eu abrir o mesmo arquivo usando o bloco de notas padrão, é isso que recebo
Portanto, você já deve ter adivinhado olhando a saída. Tudo no .gitignore se tornou uma linha única e, como existe um ## no início, ele age como se tudo estivesse comentado.
A maneira de corrigir isso é simples: basta abrir o arquivo .gitignore com o Notepad ++ e faça o seguinte
Editar> Conversão de EOL> Formato do Windows> Salvar
Na próxima vez que você abrir o mesmo arquivo com o bloco de notas padrão do Windows, tudo deverá estar formatado corretamente. Experimente e veja se isso funciona para você.
fonte
Além disso, os comentários devem estar em sua própria linha. Eles não podem ser colocados após uma entrada. Portanto, isso não vai funcionar:
Mas isso vai funcionar:
fonte
Funciona
git reset --hard
para alguém? Não estou dizendo que essa é uma boa solução, apenas parecia funcionar da primeira vez que tentei.fonte
Cometi o grande erro de editar meu dockerignore, funcionou muito bem depois que encontrei o arquivo ignorar certo: p
fonte
Adicionando minha parte, já que essa é uma pergunta popular.
Não consegui colocar o diretório .history dentro do .gitignore, porque não importa qual combinação eu tentei, simplesmente não funcionou. O Windows continua gerando novos arquivos a cada salvamento e não quero vê-los.
Mas então percebi que este é apenas o meu ambiente de desenvolvimento pessoal na minha máquina. Coisas como .history ou .vscode são específicas para mim, portanto, seria estranho se todos incluíssem suas próprias entradas .gitignore com base no IDE ou SO que estão usando.
Então, isso funcionou para mim, basta acrescentar ".history" a .git / info / exclude
fonte