Nem todo arquivo em seu projeto deve ser controlado por versão. Descubra quais tipos de arquivo você deve excluir de seu repositório de origem.

O controle de versão é uma ferramenta vital para rastrear alterações em sua base de código, mas você nem sempre deseja rastrear todos os arquivos.

Para evitar confusão e reduzir o risco de distribuição de informações confidenciais, você pode usar um arquivo chamado .gitignore. Este arquivo especifica quais arquivos e diretórios o Git não deve indexar.

Determinar quais arquivos incluir em .gitignore pode ser um desafio, especialmente se você for novo no desenvolvimento. Descubra quais arquivos você deve adicionar ao seu .gitignore para um fluxo de trabalho do Git mais suave.

Criando um arquivo .gitignore

Para que seu arquivo .gitignore tenha algum efeito, você deve ter o Git inicializado em seu projeto.

Você pode inicializar o Git executando o comando abaixo no seu terminal:

git init

Este comando cria um novo repositório Git para o seu projeto, em um subdiretório “.git” oculto que contém todos os arquivos e diretórios necessários para controlar a versão do seu projeto.

Para executar este comando, você deve ter Git instalado em seu sistema.

Em seguida, crie seu arquivo .gitignore executando o comando abaixo:

tocar.gitignore

A execução do comando acima cria um novo arquivo, “.gitignore” em seu diretório atual. Você pode excluir um arquivo do Git adicionando o nome do arquivo ou o caminho do arquivo (se o arquivo estiver em um diretório diferente do .gitignore arquivo).

O Git não precisa rastrear todos os arquivos do seu projeto, e rastrear alguns arquivos pode levar a problemas imprevistos. Estes são alguns dos arquivos que você deve adicionar ao seu .gitignore.

1. Arquivos de configuração

Os arquivos de configuração armazenam configurações e outros parâmetros que seus aplicativos usam para definir e personalizar seu comportamento. Esses arquivos geralmente armazenam strings de conexão de banco de dados, chaves de API e outras informações confidenciais que você não deve expor em seu repositório Git.

Se você incluir arquivos de configuração em seu repositório, qualquer pessoa que possa acessá-lo poderá visualizar seu conteúdo. Isso pode incluir informações confidenciais, que podem levar a violações de segurança e outros problemas.

Para excluir arquivos de configuração do seu repositório Git, adicione nomes de arquivos específicos ou nomes de pastas ao seu .gitignore arquivo.

Por exemplo, você pode adicionar a linha abaixo ao seu .gitignore arquivo para ignorar um .env arquivo.

.env

2. Construir Artefatos

Artefatos de construção são os arquivos compilados ou gerados produzidos quando você constrói seu projeto. Esses arquivos geralmente ficam em um "alvo" ou "construir" diretório.

Os artefatos de construção podem incluir classes Java compiladas, arquivos JAR, arquivos WAR, arquivos binários, pacotes de distribuição, relatórios, arquivos de log e outros gerados durante o processo de construção.

Geralmente, é uma boa prática excluir artefatos de construção do seu repositório Git porque eles podem ser muito grandes. Eles também podem ser menos portáteis do que seus arquivos de origem, relevantes apenas para um ambiente específico. Incluí-los em seu repositório pode aumentar o tamanho de seu repositório e torná-lo mais lento para clonar e trabalhar.

Para excluir artefatos de construção de seu repositório Git, adicione o "alvo/" ou "construir/" diretório para o seu .gitignore arquivo.

Por exemplo:

# .gitignore

alvo/
construir/

3. Arquivos de Ambiente de Desenvolvimento Integrado

Os arquivos do ambiente de desenvolvimento integrado (IDE) são arquivos de configuração, metadados de projeto e outros arquivos gerados pelo seu IDE quando você cria ou abre um projeto. Esses arquivos são específicos para cada IDE. Seu IDE usa esses arquivos para definir as configurações do projeto.

Esses arquivos são desnecessários para compilar ou executar seu aplicativo e geralmente podem causar problemas se forem enviados para um repositório Git compartilhado. Por exemplo, pessoas diferentes em sua equipe podem usar IDEs ou versões diferentes, e a confirmação de arquivos específicos de IDE pode causar conflitos de mesclagem e dificultar a colaboração no projeto.

Como esses arquivos são específicos do IDE, os arquivos a serem incluídos em seu .gitignore arquivo vai depender do seu IDE. Aqui estão Recomendações .gitignore do GitHub para alguns IDEs populares. Você pode procurar o IDE de sua escolha e adicionar os arquivos descritos ao seu .gitignore arquivo.

4. Dependência e arquivos de pacote

Arquivos de dependência e pacote são arquivos que contêm informações sobre as dependências e pacotes usados ​​por seu aplicativo. Várias ferramentas de construção, como o gerenciador de pacotes do nó (npm), gere esses arquivos.

Por exemplo, se você usar o npm para gerenciar dependências para um projeto JavaScript, ele criará um "node_modules" pasta no diretório raiz do seu projeto. O diretório contém todas as dependências instaladas para o seu projeto.

Este diretório pode se tornar muito grande, especialmente se seu projeto tiver muitas dependências ou algumas dependências tiverem tamanhos de arquivo grandes. Ao excluir o "node_modules" do seu repositório Git, você pode mantê-la limpa e reduzir seu tamanho.

Para evitar adicionar o "node_modules" ao seu repositório Git, adicione seu nome ao seu arquivo .gitignore:

#.gitignore

node_modules/

5. Arquivos do sistema operacional

Seu sistema operacional e outras ferramentas do sistema podem gerar arquivos por meio do uso normal. Isso pode incluir arquivos de log, arquivos temporários e arquivos de configuração do sistema. Um exemplo é o Thumbs.db arquivo no Windows e seu equivalente macOS, o .DS_Store arquivo.

Geralmente, é uma boa prática excluir arquivos do sistema operacional do seu repositório Git, pois eles são específicos para o seu ambiente local e podem diferir entre diferentes computadores e sistemas.

O GitHub recomendou diretrizes .gitignore para janelas, Mac OS, e Linux.

A importância do controle de versão

Usar o controle de versão pode melhorar significativamente seu fluxo de trabalho e reduzir erros e conflitos que podem surgir ao trabalhar em uma base de código. Com o controle de versão, você pode acompanhar facilmente as alterações de código, revisá-las e colaborar com os membros da equipe de forma integrada.

No entanto, você sempre deve excluir determinados arquivos, como arquivos de configuração, arquivos IDE e arquivos do sistema operacional. Isso manterá o tamanho do seu repositório baixo e garantirá que você não vaze informações confidenciais.