Artigo original: Gitignore Explained: What is Gitignore and How to Add it to Your Repo
Traduzido e adaptado por Daniel Rosa

O arquivo .gitignore é um arquivo de texto que diz ao Git quais arquivos ou pastas ele deve ignorar em um projeto.

Um arquivo .gitignore local geralmente é colocado no diretório raiz de um projeto. Você também pode criar um arquivo .gitignore global e todas as entradas que estiverem naquele arquivo serão ignoradas em todos os seus repositórios do Git.

Para criar um arquivo .gitignore local, crie um arquivo de texto e dê a ele o nome de  .gitignore (lembre-se de incluir o . no começo). Em seguida, edite esse arquivo conforme necessário. Cada nova linha deve listar um arquivo ou pasta adicional que você quer que o Git ignore.

As entradas neste arquivo também podem seguir um padrão de correspondência.

  • * é usado para corresponder a um caractere curinga
  • / é usado para ignorar nomes de caminhos relativos ao arquivo .gitignore
  • # é usado para adicionar comentários ao arquivo .gitignore

Aqui temos um exemplo de como pareceria um arquivo .gitignore:

# Ignore os arquivos de sistema do Mac
.DS_store

# Ignore a pasta node_modules
node_modules

# Ignore todos os arquivos de texto
*.txt

# Ignore arquivos relacionados às chaves de API
.env

# Ignore arquivos de configuração de SASS
.sass-cache

Para adicionar ou alterar seu arquivo .gitignore global, execute este comando:

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

Isso criará o arquivo ~/.gitignore_global. Agora, você pode editar esse arquivo do mesmo modo que faz com um arquivo .gitignore local. Todos os seus repositórios do Git vão ignorar os arquivos e pastas listados no arquivo .gitignore global.

Como remover arquivos enviados anteriormente por commit a partir de um novo Gitignore

Para remover um único arquivo, ou seja, para parar de rastrear o arquivo, mas não excluir esse arquivo do sistema, use:

git rm --cached filename

Para parar de rastrear todos os arquivos no .gitignore:

Primeiro, faça o commit de quaisquer alterações no código que estejam faltando. Depois, execute o comando:

git rm -r --cached

Isso removerá todos os arquivos alterados do índice (área de staging). Logo depois, execute:

git add .

Faça o commit:

git commit -m ".gitignore agora está funcionando"

Para desfazer o git rm --cached filename, use git add filename

Para mais informações (em inglês):