Atualmente o sistema de controle de versão mais popular do mercado é o Git. Este sistema possui uma série de funcionalidades que permitem o controle de versão de maneira distribuida. No entanto, neste artigo não falaremos sobre os comandos do Git ou como ele funciona, mas sim sobre um arquivo especial no contexto do sistema: o arquivo .gitignore
O problema
Conforme os projetos com os quais trabalhamos aumentam em complexidade, é comum que existam nestes projetos arquivos que não queremos que o Git monitore. Exemplos disso são os arquivos que contém credenciais de acesso à serviços e de arquivos pesados como é o caso da pasta node_modules de projetos que utilizam o node.
A abordagem que iniciantes no Git podem imaginar para lidar com isso é se certificar de sempre remover os arquivos indesejados manualmente dos commits em seus repositórios. No entanto, existe uma forma mais simples e rápida de fazer isso, que é através o arquivo .gitignore. Este arquivo é responsável por manter uma lista de arquivos que devem ser ignorados pelo Git.
Criando um arquivo
Para criar um arquivo .gitignore, você pode executar o processo de criação de um arquivo de texto no seu sistema operacional e então renomear o arquivo para .gitignore. Algo importante que devemos levar em consideração aqui é que os arquivos .gitgnore não devem possuir nenhum tipo de extensão.
Em seguida, basta abrir o arquivo e listar nele os arquivos e pastas do projeto que você deseja ignorar. Aqui é importante salientar que devemos utilizar o caminho relativo desses arquivos com relação à pasta onde o arquivo .gitignore se encontra. Também é importante saber que também podemos utilizar expressões regulares para especificar padrões que o arquivo deve ignorar.
Depois de salvo, o arquivo .gitignore começa a ignorar os arquivos do repositório atual onde ele se encontra, o que significa que você precisa criar um arquivo desse tipo para cada repositório.
O que colocar no arquivo .gitignore?
Agora você já sabe como utilizar um arquivo .gitignore, porém ainda fica a dúvida de quais arquivos devem ser inseridos nesta lista. Esse pode ser um trabalho complexo uma vez que existem arquivos de build que não devem ser perpetuados para o repositório, mas também arquivos relacionados à configurações locais da IDE ou framework. Felizmente, existem modelos de .gitignore que você pode seguir bem como ferramentas que podem gerar o arquivo .gitignore de forma automática como o gitignore.io.