DEV Community

Cover image for How to Ignore Files in Git Without Using .gitignore
Diego Novais
Diego Novais

Posted on • Edited on

How to Ignore Files in Git Without Using .gitignore

EN

Sometimes you need to ignore files or folders in your project, but you don't want to add these rules to the shared .gitignore file. Git offers an elegant solution for this: the .git/info/exclude file. Let's explore how to use this functionality.

What is the .git/info/exclude file?

The .git/info/exclude file works similarly to .gitignore, but it's specific to your local repository. The rules defined in it are not shared with other collaborators when you push your code.

Step-by-step guide to using .git/info/exclude

  1. Locate the file
    Navigate to the root folder of your Git repository and look for the hidden .git folder.

  2. Create or edit the file
    Inside the .git folder, go to the info folder. If a file named exclude doesn't exist, create it. Otherwise, open it for editing.

  3. Add the rules
    The exclusion rules follow the same format as .gitignore. For example:

   # Ignore a specific folder
   my_folder/

   # Ignore a file type
   *.log

   # Ignore a specific file
   config.local
Enter fullscreen mode Exit fullscreen mode
  1. Save the file
    After adding your rules, save and close the file.

  2. Verify it's working
    Use the git status command to confirm that the files/folders you want to ignore are not being tracked.

Advantages of using .git/info/exclude

  1. Privacy: The rules are applied only locally.
  2. Doesn't affect other collaborators: Your personal exclusions don't interfere with the team's work.
  3. Ideal for specific configurations: Perfect for local configuration files or temporary files in your development environment.

Important considerations

  • Use relative paths for greater portability.
  • Remember that files already tracked by Git won't be automatically ignored. You'll need to remove them from tracking first.
  • If you need to share exclusion rules with the team, .gitignore is still the best option.

Conclusion

The .git/info/exclude file is a powerful tool for managing local exclusions in your Git repository. It offers flexibility to ignore files and folders without affecting the shared .gitignore, making it ideal for configurations specific to your development environment.

By mastering this technique, you'll have more control over what is versioned in your local repository, keeping your workspace organized and avoiding accidental commits of unnecessary files.

I hope that this content helps and makes sense to you! See ya!

Contacts:
Email: contato@diegonovais.com.br
LinkedIn: https://www.linkedin.com/in/diegonovais/
Github: https://github.com/dnovais


PTBR:

Como ignorar arquivos no Git sem usar o .gitignore

Às vezes, você precisa ignorar arquivos ou pastas em seu projeto, mas não quer adicionar essas regras ao arquivo .gitignore compartilhado. O Git oferece uma solução elegante para isso: o arquivo .git/info/exclude. Vamos explorar como usar essa funcionalidade.

O que é o arquivo .git/info/exclude?

O arquivo .git/info/exclude funciona de maneira similar ao .gitignore, mas é específico para o seu repositório local. As regras definidas nele não são compartilhadas com outros colaboradores quando você faz push do seu código.

Passo a passo para usar o .git/info/exclude

  1. Localize o arquivo
    Navegue até a pasta raiz do seu repositório Git e procure a pasta oculta .git.

  2. Crie ou edite o arquivo
    Dentro da pasta .git, vá para a pasta info. Se não existir um arquivo chamado exclude, crie-o. Caso contrário, abra-o para edição.

  3. Adicione as regras
    As regras de exclusão seguem o mesmo formato do .gitignore. Por exemplo:

   # Ignorar uma pasta específica
   minha_pasta/

   # Ignorar um tipo de arquivo
   *.log

   # Ignorar um arquivo específico
   config.local
Enter fullscreen mode Exit fullscreen mode
  1. Salve o arquivo
    Após adicionar suas regras, salve e feche o arquivo.

  2. Verifique se está funcionando
    Use o comando git status para confirmar se os arquivos/pastas que você quer ignorar não estão sendo rastreados.

Vantagens de usar .git/info/exclude

  1. Privacidade: As regras são aplicadas apenas localmente.
  2. Não afeta outros colaboradores: Suas exclusões pessoais não interferem no trabalho da equipe.
  3. Ideal para configurações específicas: Perfeito para arquivos de configuração local ou arquivos temporários do seu ambiente de desenvolvimento.

Considerações importantes

  • Use caminhos relativos para maior portabilidade.
  • Lembre-se que arquivos já rastreados pelo Git não serão ignorados automaticamente. Você precisará removê-los do rastreamento primeiro.
  • Se você precisar compartilhar regras de exclusão com a equipe, o .gitignore ainda é a melhor opção.

Conclusão

O arquivo .git/info/exclude é uma ferramenta poderosa para gerenciar exclusões locais em seu repositório Git. Ele oferece flexibilidade para ignorar arquivos e pastas sem afetar o .gitignore compartilhado, tornando-o ideal para configurações específicas do seu ambiente de desenvolvimento.

Ao dominar esta técnica, você terá mais controle sobre o que é versionado em seu repositório local, mantendo seu espaço de trabalho organizado e evitando commits acidentais de arquivos desnecessários.

Espero que este conteúdo ajude e faça sentido para você! Até mais!

Contato:
Email: contato@diegonovais.com.br
LinkedIn: https://www.linkedin.com/in/diegonovais/
Github: https://github.com/dnovais

Top comments (2)

Collapse
 
eduardoklosowski profile image
Eduardo Klosowski

Essa é uma boa forma de fazer isso por repositório. Se quiser fazer em todos os repositórios de um usuário (similar ao --global) pode-se usar o arquivo ~/.config/git/ignore (ou outro via configuração core.excludesFile).

Collapse
 
dnovais profile image
Diego Novais

@eduardoklosowski Obrigado pela contribuição! É muito bom saber que é possível fazer dessa forma, aplicando em todos os repositórios de um usuário com o arquivo ~/.config/git/ignore ou via configuração core.excludesFile. Grande dica!