Nem todo arquivo deve entrar no histórico do projeto. O .gitignore diz ao Git quais arquivos e pastas ele deve ignorar por completo.
Arquivos como .env guardam senhas e chaves — nunca devem ir para o GitHub.
Pastas como node_modules/ são geradas e podem ter milhares de arquivos.
.DS_Store (Mac) ou configs do editor não interessam ao projeto.
O .gitignore é um arquivo simples, criado na raiz do repositório, com uma lista de nomes e padrões. Tudo que estiver nele o Git passa a ignorar.
Avance para ver o status depois do .gitignore →
Se um arquivo já entrou no histórico antes de você ignorá-lo, adicioná-lo ao .gitignore não basta. É preciso tirá-lo do controle uma vez.
Cada linguagem tem arquivos típicos para ignorar. Em vez de decorar, use um modelo pronto e adapte.
Gera um .gitignore a partir da sua linguagem e editor.
Repositório oficial do GitHub com modelos para dezenas de tecnologias.
Ao criar um repositório no GitHub, dá para já escolher um modelo de .gitignore.
Com o .gitignore, o histórico guarda só o que importa e você evita publicar senhas ou arquivos desnecessários.
Vazar um arquivo .env com senhas é um dos erros mais comuns de quem está começando. Um .gitignore bem feito é a primeira linha de defesa contra isso.