Como adicionar arquivos a .gitignore e por que o conteúdo do arquivo .gitignore não muda depois de ignorar os arquivos com a árvore de origem?

Como adicionar arquivos a .gitignore e por que o conteúdo do arquivo .gitignore não muda depois de ignorar os arquivos com a árvore de origem?

Eu queria ignorar a .vspasta inteira porque estava recebendo um erro de bloqueio/permissão negada sqlite3/db.lockencontrado na .vspasta, então criei um .gitignorearquivo com este comando bash:

touch .gitignore

e adicionei esta linha dentro do arquivo .gitignore:

.vs/*

Mas ainda recebo o mesmo erro quando executo o git add --all.

No final, abri o aplicativo Sourcetree, ignorei o .vsconteúdo da pasta clicando com o botão direito nos arquivos e escolhendo ignorar, e então consegui adicionar todos os arquivos, fazer commit e push (através do aplicativo Sourcetree).

Não estou satisfeito com esta solução porque queria fazer tudo através da linha de comando. Agora estou me perguntando por que o conteúdo do gitignore não mudou se eu supostamente o manipulei através do Sourcetree? E como posso adicionar arquivos .gitignore? O que fiz não pareceu ter nenhum efeito (o fato de ter adicionado line .vs/*)

Responder1

O que você fez teve um efeito. Ou seja, que tudofuturoas alterações serão ignoradas.

O problema aqui é que quando você adiciona arquivos, .gitignoreeles serão ignorados em quaisquer alterações feitas, mas ainda permanecerão no repositório. O que você precisa fazer é remover tudo do git e adicioná-los novamente. Desta forma, os arquivos que você deseja ignorar não serão adicionados.

Você pode fazer isso com os seguintes comandos:

git rm -r --cached .
git add .
git commit -m ".gitignore fix"

Referência:http://www.codeblocq.com/2016/01/Untrack-files-already-added-to-git-repository-based-on-gitignore/

informação relacionada