Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Arquivos que já foram add ao Git não podem ser ignorados pelo .gitignore?

estou usando o Ubuntu, segue o código do terminal do status:

Arquivos não monitorados: (utilize "git add ..." para incluir o que será submetido)

marina

nenhuma modificação adicionada à submissão (utilize "git add" e/ou "git commit -a") root@desenv:/home/marinamicas/Documentos/CursosAlura/Git# git status No ramo master Changes not staged for commit: (utilize "git add ..." para atualizar o que será submetido) (utilize "git checkout -- ..." para descartar mudanças no diretório de trabalho)

modified:   .gitignore
modified:   ide-config

nenhuma modificação adicionada à submissão (utilize "git add" e/ou "git commit -a") root@desenv:/home/marinamicas/Documentos/CursosAlura/Git# git add .gitignore root@desenv:/home/marinamicas/Documentos/CursosAlura/Git# git commit -m "acho que deu certo o arquivo marina foi ignorado, mas o ide-config não" [master f221acd] acho que deu certo o arquivo marina foi ignorado, mas o ide-config não 1 file changed, 1 insertion(+) root@desenv:/home/marinamicas/Documentos/CursosAlura/Git# git status No ramo master Changes not staged for commit: (utilize "git add ..." para atualizar o que será submetido) (utilize "git checkout -- ..." para descartar mudanças no diretório de trabalho)

modified:   ide-config

Eu cheguei a fazer alterações dentro do arquivo marina, e depois que eu adicionei ele no .gitignore ele funcionou, não vê mais esse arquivo como se percebe no conteúdo do terminal.

Porém o arquivo ide-config, que foi adicionado ao Git antes de ser um dos arquivos a serem ignorados, ele me parece que sempre fica visível ao Git, nunca fica ignorado.

Isso acontece pq ele está no Git?

Devo deletar ele de lá? Pois msm que ele esteja inserido no arquivo .gitignore ele será sempre visto pelo Git por ele ter sido add?

Digo isso pq o arquivo marina eu nunca add ele no Git, e ele aparecia no status até o momento de listar ele no arquivo .gitignore.

Obrigada e no aguardo ;)

4 respostas

Olá Marina, tudo certo?

Antes de adicionar o .gitignore você deve executar o comando git rm -r --cached <arquivo> aqui neste ponto, você irá remover os arquivos indesejados, como *.exe para todos os arquivos .exe ou obj para apagar a pasta obj e tudo o que tem dentro dela. Qualquer coisa, faça alguma alteração dentro do .gitignore para ele poder ser commitado novamente. OBS: Se a pasta que quiser deletar estiver em algum nível abaixo, deverá adicionar o caminho até ela, exemplo, teste-dotnet/obj

Depois disso, adicione apenas o .gitignore, porque se adicionar todos os arquivos, os arquivos que eram para ignorar serão adicionados novamente: git add .gitignore

Depois pode fazer o commit normalmente: `git commit -m "Adicionando o .gitignore"

Por último, é só fazer o push: git push -u

Espero ter ajudado! Bons estudos!

Oi Fabiano, obrigada por me responder, tem como apagar esse outro tópico duplicado? nem percebi que havia feito isso ._.

Me parece que seus esclarecimentos é somente para eu conseguir deletar esse arquivo que nunca é ignorado né? Fiz vários testes com ele: 1 - Listar ele dentro do arquivo .gitignore; 2 - Criar o arquivo .gitignore pelo terminal ao invés do Visual Studio Code; 3 - Renomeei o arquivo a ser ignorado com duas extensões diferentes, e até já coloquei dentro do .gitignore com e sem extensões; 4 - Aí realizei um teste comparativo: 4.1 - Criei outro arquivo, que este não cheguei add ao Git; 4.2 - Nesse, eu nem cheguei fazer testes de extensões, só dei um git status duas vezes: 4.2.1 - quando ele não estava listado no arquivo .gitignore (ele aparecia no terminal dizendo que devia ser add e commit); 4.2.2 - após ter listado no arquivo .gitignore (ele não apareceu mais no terminal.)


Dessa forma, me parece que quando add no Git ele sempre vai me acusar no terminal... mesmo que o liste dentro do arquivo .gitignore, por isso minha pergunta a todo esse problema é:

Quando add um arquivo ou pasta no Git, ele só seria "ignorado" no terminal com o recurso do arquivo .gitignore se ele for deletado do Git?

solução!

Olá Marina!

É exatamente isso. O arquivo não pode existir para que ele possa ser ignorado.

O arquivo .gitignore deve ser adicionado antes do git add <arquivo>. Se o arquivo já estiver em stage, deve ser removido antes do commit. Se estiver no Github, deve remover os arquivos com git rm -r --cached <arquivo>, fazer o commit, adicionar o .gitignore e fazer o commit. Depois disso, os arquivos não serão mais adicionados.

Estou disponibilizando o repositório onde fiz os testes de remoção de arquivos. Caso ache necessários, dê uma olhada nos commits para ver quais foram as alterações que fiz.

Qualquer coisa, estamos à disposição!

Obrigada Fabiano pelo retorno, pelos meus testes tbm percebi isso que me explicou, só estava aguardando uma confirmação sua msm. Vou anotar o comando para realizar o delete e depois realizo esse teste deletando, eu acabei refazendo sem enviar o arquivo ao Git rs.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software