Arquivo .gitignore
Um arquivo .gitignore é um arquivo de texto que diz ao Git quais arquivos e diretórios ignorar ao rastrear alterações em um repositório. Você pode usar um arquivo .gitignore para deixar de fora arquivos gerados durante o processo de build, arquivos com informações sensíveis ou arquivos que não são relevantes para o projeto.
Onde colocar o arquivo
-
Raiz do repositório: O arquivo
.gitignoredeve ficar no diretório raiz do seu repositório. Isso garante que o Git aplique as regras de ignorar a todos os arquivos e diretórios do repositório. -
Subdiretórios: Você também pode criar arquivos
.gitignoreem subdiretórios para definir regras de ignorar que se aplicam apenas aos arquivos desse diretório e dos seus subdiretórios.
Arquivo global de ignorados
Além do arquivo de ignorados do seu projeto, o Git também usa um arquivo global de ignorados que se aplica a todos os repositórios do seu sistema. O caminho do arquivo global de ignorados fica guardado na variável de configuração core.excludesFile.
Descubra a localização do arquivo global de ignorados:
git config --global core.excludesFileExemplo
# Adicione comentários para maior clareza. Os comentários começam com o símbolo de cerquilha (#).
# Isto é um comentário!
# Ignore arquivos com nomes específicos.
Thumbs.db
.DS_Store
# Ignore arquivos com extensões específicas. O * é um curinga que corresponde
# a qualquer sequência de caracteres.
*.log
*.tmp
*.bak
# Ignore diretórios. A barra no final não é obrigatória, mas indica com mais
# clareza para quem lê que se trata de um diretório.
logs
temp/
# Ignore arquivos em qualquer diretório com um nome específico.
# O padrão ** corresponde a qualquer diretório, incluindo subdiretórios.
**/build/
# Ignore arquivos com um nome específico em um diretório específico.
docs/*.pdf
# Ignore todos os arquivos de um diretório, exceto um arquivo específico
# O prefixo ! nega o padrão, então o arquivo não é ignorado.
config/*
!config/main.conf
# Inclua um arquivo ignorado anteriormente usando o prefixo !.
!important.log.gitignoregit checkoutgit configgit taggit worktree