Android

Ignorando arquivos e diretórios no git (.gitignore)

Curso de Git - Ignorar arquivos com arquivo gitignore -12

Curso de Git - Ignorar arquivos com arquivo gitignore -12

Índice:

Anonim

Freqüentemente, ao trabalhar em um projeto que usa o Git, você deseja excluir arquivos ou diretórios específicos do envio para o repositório remoto.

O arquivo .gitignore especifica quais arquivos não .gitignore o Git deve ignorar.

Quais arquivos devem ser ignorados?

Arquivos ignorados geralmente são arquivos específicos da plataforma ou arquivos criados automaticamente a partir dos sistemas de construção. Alguns exemplos comuns incluem:

  • Arquivos de tempo de execução, como log, bloqueio, cache ou arquivos temporários.Arquivos com informações confidenciais, como senhas ou chaves de API.Código compilado, como diretórios .class ou .o .Dependency, como /vendor ou /node_modules .Build directory, como /public , /out ou /dist . Arquivos de sistema como .DS_Store ou Thumbs.db IDE ou arquivos de configuração do editor de texto.

.gitignore

Um arquivo .gitignore local geralmente é colocado no diretório raiz do repositório. No entanto, você pode criar vários arquivos .gitignore em diferentes subdiretórios do seu repositório. Os padrões nos arquivos .gitignore são correspondidos em relação ao diretório em que o arquivo reside.

Os padrões definidos nos arquivos que residem nos diretórios de nível inferior (subdiretórios) têm precedência sobre os diretórios de nível superior.

Os arquivos .gitignore locais são compartilhados com outros desenvolvedores e devem conter padrões úteis para todos os outros usuários do repositório.

Regras de Ignoração Pessoal

Os padrões específicos do seu repositório local e não devem ser distribuídos para outros repositórios, devem ser configurados no arquivo .git/info/exclude .

Por exemplo, você pode usar esse arquivo para ignorar arquivos gerados a partir de suas ferramentas pessoais de projeto.

Global .gitignore

O Git também permite criar um arquivo .gitignore global, onde você pode definir regras de ignorar para cada repositório Git no seu sistema local.

O arquivo pode ser nomeado como quiser e armazenado em qualquer local. O local mais comum para manter esse arquivo é o diretório inicial. Você precisará criar o arquivo manualmente e configurar o Git para usá-lo.

Por exemplo, para definir ~/.gitignore_global como o arquivo global Git ignore, faça o seguinte:

  1. Crie o arquivo:

    touch ~/.gitignore_global

    Adicione o arquivo à configuração do Git:

    git config --global core.excludesfile ~/.gitignore_global

    Abra o arquivo com seu editor de texto e inclua suas regras.

As regras globais são particularmente úteis para ignorar arquivos específicos que você nunca deseja confirmar, como arquivos com informações confidenciais ou executáveis ​​compilados.

Ignorando arquivos previamente confirmados

Os arquivos da sua cópia de trabalho podem ser rastreados ou não.

Para ignorar um arquivo que foi confirmado anteriormente, você precisará desestabilizar e remover o arquivo do índice e, em seguida, adicionar uma regra para o arquivo em .gitignore :

git rm --cached filename

A opção --cached diz ao git para não excluir o arquivo da árvore de trabalho, mas apenas para removê-lo do índice.

Para remover recursivamente um diretório, use a opção -r :

git rm --cached filename

Ao excluir recursivamente arquivos, use a opção -n que executará uma "execução a seco" e mostrará quais arquivos serão excluídos:

git rm -r -n directory

Depurando o arquivo .gitignore

Às vezes, pode ser desafiador determinar por que um arquivo específico está sendo ignorado, especialmente quando você está usando vários arquivos .gitignore ou padrões complexos. É aqui que o comando git check-ignore com a opção -v , que instrui o git a exibir detalhes sobre o padrão correspondente, é útil.

Por exemplo, para verificar por que o arquivo www/yarn.lock é ignorado, você deve executar:

git check-ignore -v www/yarn.lock

A saída mostra o caminho para o arquivo gitignore , o número da linha correspondente e o padrão real.

www/.gitignore:31:/yarn.lock www/yarn.lock

O comando também aceita mais de um nome de arquivo como argumentos, e o arquivo não precisa existir na sua árvore de trabalho.

Exibindo todos os arquivos ignorados

O comando git status com a opção --ignored exibe uma lista de todos os arquivos ignorados:

git status --ignored

Conclusão

O arquivo .gitignore permite excluir arquivos do check-in no repositório. O arquivo contém padrões de globbing que descrevem quais arquivos e diretórios devem ser ignorados.

O gitignore.io é um serviço online que permite gerar arquivos .gitignore para o seu sistema operacional, linguagem de programação ou IDE.