Ignorando arquivos no Git
Em projetos, frequentemente encontramos arquivos que não gostaríamos de salvar no sistema Git. Estes podem ser arquivos temporários gerados pelo seu código, arquivos de cache, bem como arquivos com senhas.
Podemos forçar o Git
a ignorar essas pastas e arquivos.
Isso é feito usando um arquivo especial
.gitignore, colocado
na pasta do seu projeto.
Neste arquivo, em cada linha, precisamos escrever o caminho para o arquivo ou pasta que queremos ignorar. Vejamos com exemplos qual sintaxe é permitida aqui.
Exemplo
A barra antes do nome do arquivo corresponde ao arquivo na raiz do repositório:
/debug.log
Por exemplo, os seguintes arquivos serão ignorados:
- debug.log
Mas não:
- logs/debug.log
Exemplo
Sem a barra no início, serão ignorados arquivos também nas subpastas:
debug.log
Por exemplo, os seguintes arquivos serão ignorados:
- debug.log
- logs/debug.log
Exemplo
Sem a barra no final, serão ignorados tanto arquivos sem extensão quanto pastas com esse nome:
logs
Por exemplo, os seguintes arquivos serão ignorados:
- logs
- logs/debug.log
- logs/latest/foo.bar
- build/logs
- build/logs/debug.txt
Exemplo
Com a barra no final, serão ignoradas somente pastas:
logs/
Por exemplo, as seguintes pastas serão ignoradas:
- logs/
- logs/debug.log
- logs/latest/foo.bar
- build/logs
- build/logs/debug.txt
Exemplo
Dois asteriscos no início de uma pasta farão com que sejam ignoradas todas as pastas que contenham tal subpasta no caminho:
**/logs
Por exemplo, os seguintes arquivos serão ignorados:
- logs/debug.log
- logs/monday/foo.bar
- build/logs/debug.log
Exemplo
Dois asteriscos também podem ser usados para corresponder a arquivos com base no seu nome e no nome da pasta pai:
**/logs/debug.log
Por exemplo, os seguintes arquivos serão ignorados:
- logs/debug.log
- build/logs/debug.log
Mas não:
- logs/build/debug.log
Exemplo
Um asterisco é um curinga que pode corresponder a vários caracteres ou a nenhum:
*.log
Por exemplo, os seguintes arquivos serão ignorados:
- debug.log
- foo.log
- .log
- logs/debug.log
Exemplo
Adicionar um ponto de exclamação no início de um padrão reverte a ação do padrão. Se um arquivo corresponde a um certo padrão, mas também corresponde a um padrão de reversão especificado depois, esse arquivo não será ignorado:
*.log
!important.log
Por exemplo, os seguintes arquivos serão ignorados:
- important.log
Mas não:
- file.log
Exemplo
O ponto de interrogação corresponde estritamente a um caractere:
debug?.log
Por exemplo, os seguintes arquivos serão ignorados:
- debug0.log
- debugg.log
Mas não:
- debug10.log
Exemplo
Colchetes correspondem a um caractere do conjunto especificado:
debug[01].log
Por exemplo, os seguintes arquivos serão ignorados:
- debug0.log
- debug1.log
Mas não:
- debug2.log
- debug01.log
Exemplo
Colchetes também podem ser usados para especificar a correspondência a um caractere de um intervalo determinado:
debug[0-9].log
Por exemplo, os seguintes arquivos serão ignorados:
- debug0.log
- debug1.log
Mas não:
- debug10.log
Exemplo
O ponto de exclamação pode ser usado para especificar a correspondência a qualquer caractere, exceto aos caracteres do conjunto especificado:
debug[!01].log
Por exemplo, os seguintes arquivos serão ignorados:
- debug2.log
Mas não:
- debug0.log
- debug1.log
- debug01.log
Exemplo
Os intervalos podem ser numéricos ou alfabéticos:
debug[a-z].log
Por exemplo, os seguintes arquivos serão ignorados:
- debuga.log
- debugb.log
Mas não:
- debug1.log
Exemplo
Dois asteriscos correspondem a múltiplos diretórios ou a nenhum:
logs/**/debug.log
Por exemplo, os seguintes arquivos serão ignorados:
- logs/debug.log
- logs/monday/debug.log
- logs/monday/pm/debug.log
Exemplo
Curingas podem ser usados também em nomes de diretórios:
logs/*day/debug.log
Por exemplo, os seguintes arquivos serão ignorados:
- logs/monday/debug.log
- logs/tuesday/debug.log
Mas não:
- logs/latest/debug.log
Tarefas práticas
Faça com que sejam ignorados
arquivos da pasta cache.
Faça com que sejam ignorados
arquivos das pastas cache e tmp.
Faça com que sejam ignorados
o arquivo err.txt e a pasta tmp.